今天打開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,表示不自動刪除。