内容纲要
首先描述一下出现这个问题的场景:
今天朋友的服务器空间不够用了,利用df 和du命令定位到了占空间的文件是mysql的bin文件,在data目录下有几十个master-bin.000001类似的文件,每个文件平均都有1G左右,my god!!!
于是乎知道大概原因了,首先是清楚这些日志文件,然后就是关闭log_bin.
第一步清楚日志文件好做,直接在mysql下执行如下命令
1 |
purge binary logs before '2016-05-03 23:16:00'; |
第二步是找到mysql的配置文件,用如下命令可以知道
1 |
mysqld --verbose --help |grep my.cnf |
你可以看到配置文件的加载顺序为:/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
找到配置文件后,然后注释掉
1 2 |
binlog-format=ROW log-bin=master-bin.log |
然后重启,再然后就出现了如标题所示的错误!
经过google后最后通过查看mysqld的启动日志知道了错误的原因
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #binlog-format=ROW #log-bin=master-bin.log #log-slave-updates=true #gtid-mode=on #enforce-gtid-consistency=true #master-info-repository=TABLE #relay-log-info-repository=TABLE #sync-master-info=1 #slave-parallel-workers=2 #binlog-checksum=CRC32 #master-verify-checksum=1 #slave-sql-verify-checksum=1 #binlog-rows-query-log_events=1 server-id=1 report-port=3306 port=3306 datadir=/data/sql socket=/tmp/mysql.sock |
不仅仅只注释上面两个参数,上面所有注释的均要注意.