最近检查发现mysql 的binlog文件非常大,检查了一下原来是 存在好多类似下面这样的:BINLOG '
+4wOTBMBAAAAXQAAAP+/PAAAACgjAAAAAAAAD2dsb2JhbF9yZXNvdXJjZQAPdG1wX21zX2ZkcF90cmVlABADDw8PA/YPDwMDAwMMAwcDDB4A/QL9AgQBHgAGAPY9+4wOTBcBAAAAAwEAAALBPAAQACgjAAAAAAEAEP//MDhGjwIAClVTQ0YwMDAwOTAuAENhc2ggRmxvdyBmcm9tIENvbnRpbnVpbmcgRmluYW5jaW5nIEFjdGl2aXRpZXMNAENGRiBmcm9tIENvbnQKVVNDRjAwMDEzMAExAgAAAAAAAAAAAAAA+4wOTAEAAAAwOEaPAgAKVVNDRjAwMDE5MCsAQ2FzaCBmcm9tIERpc2NvbnRpbnVlZCBGaW5hbmNpbmcgQWN0aXZpdGllcxMAQ2FzaCBmciBEaXMgRmluIEFjdApVU0NGMDAwMTMwATECAAAAAAAAAAAAAAD7jA5MAQAAAA=='/*!*/;,怎么BINLOG 会产生这样的日志啊,有时候 特别长。 怎么解决。
+4wOTBMBAAAAXQAAAP+/PAAAACgjAAAAAAAAD2dsb2JhbF9yZXNvdXJjZQAPdG1wX21zX2ZkcF90cmVlABADDw8PA/YPDwMDAwMMAwcDDB4A/QL9AgQBHgAGAPY9+4wOTBcBAAAAAwEAAALBPAAQACgjAAAAAAEAEP//MDhGjwIAClVTQ0YwMDAwOTAuAENhc2ggRmxvdyBmcm9tIENvbnRpbnVpbmcgRmluYW5jaW5nIEFjdGl2aXRpZXMNAENGRiBmcm9tIENvbnQKVVNDRjAwMDEzMAExAgAAAAAAAAAAAAAA+4wOTAEAAAAwOEaPAgAKVVNDRjAwMDE5MCsAQ2FzaCBmcm9tIERpc2NvbnRpbnVlZCBGaW5hbmNpbmcgQWN0aXZpdGllcxMAQ2FzaCBmciBEaXMgRmluIEFjdApVU0NGMDAwMTMwATECAAAAAAAAAAAAAAD7jA5MAQAAAA=='/*!*/;,怎么BINLOG 会产生这样的日志啊,有时候 特别长。 怎么解决。
| binlog_format | MIXED |
是MIXED类型的吧?在遇到某些特殊的函数,会自动转成ROW类型。你把这个参数改成statement,然后你就可以看到具体的SQL语句了,这个是按语句来写日志的的,ROW是按行来写日志的,MIXED是混合模式。
,这些日志文件大的话都可以上g,查看一下了那个 binlog 写的东西特别多啊,刚查了一下那个帮助文档:
This variable sets the binary logging format, and can be any one of STATEMENT, ROW, or MIXED. See Section 16.1.2, “Replication Formats”. binlog_format is set by the --binlog-format option at startup, or by the binlog_format variable at runtime. The default mode is STATEMENT. 如果没有设置默认是STATEMENT
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 18
Current database: test+---------------------+-------------------+
| Variable_name | Value |
+---------------------+-------------------+
| binlog_format | MIXED |
你看看这个变量是多少??
如果是STATEMENT,就是按语句记录日志,会记录下显式的SQL语句。insert into a values(uuid());
也会得到一些这样的值。