欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql二进制日志文件出错导致mysql服务无法启动_MySQL

程序员文章站 2022-04-20 11:33:54
...
今天打开phpmyadmin发现连不上mysql数据库,重启mysql启动不起来,查看日志发现如下错误
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

进入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,表示不自动删除。