今天打开phpmyadmin发现连不上mysql数据库,重启mysql启动不起来,查看日志发现如下错误
<span style="font-family:SimSun;font-size:12px;">mysqld: File '.\mysql-bin.000370' not found (Errcode: 2)
141120 13:23:13 [ERROR] Failed to open log (file '.\mysql-bin.000370', errno 2)
141120 13:23:13 [ERROR] Could not open log file
141120 13:23:13 [ERROR] Can't init tc log
141120 13:23:13 [ERROR] Aborting</span>
进入mysql/data目录下手动删除mysql-bin.xxxxx相关的文件或者进入mysql命令行执行RESET MASTER删除全部日志,重启mysql。
查询得知Mysql Data目录生成的大量mysql-bin.xxxxx文件是叫做MySQL Binary Log,主要有下面两个作用:
1、数据恢复。
2、在主从服务器上提高复制的可靠性。
这些日志可以mysqlbinlog工具进行查看
#mysqlbinlog mysql-bin.xxxxx
如果不需要这些日志文件的话,在my.ini中注释掉以下两行,就不会再生成二进制日志文件了:
#log-bin=mysql-bin
#binlog_format=mixed
不注释的话可以配置自动删除的天数,在mysql配置文件中,找到[mysqld],加上以下语句:
expire_logs_days = 3
也可以直接使用mysql命令配置:mysql> SET GLOBAL expire_logs_days=1;
可以将二进制日志自动删除的天数设为3。不设置的话默认为0,表示不自动删除。
--转自