程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql二進制日志文件出錯導致mysql服務無法啟動

mysql二進制日志文件出錯導致mysql服務無法啟動

編輯:MySQL綜合教程

mysql二進制日志文件出錯導致mysql服務無法啟動


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

 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved