默认情况下,日志文件在mysql中是打开的。如果数据操作频繁,会产生大量的日志。mysql- bin.0000*类似的文件会在/usr/local/mysql/var/下生成,而且一般都是几十MB到几GB,甚至会吃光整个硬盘空间,绝不会导致mysql无法启动或者报错。
如何关闭MySQL的日志功能:
删除日志:
执行:/usr/local/MySQL/bin/MySQL-u root-p
执行前输入密码并登录:重置主控;
输入quit退出mysql命令模式。
完全禁用MySQL日志:修改/etc/my.cnf文件并找到
log-bin=mysql-bin
binlog_format=mixed
在这两行前面加#号,注释掉,然后执行/etc/init.d/mysql restart。
如果真的想保留日志,可以添加到/etc/my.cnf中。
过期日志天数=30
然后重启mysql,这样日志会在30天后自动清理。
因为硬盘已满,mysql无法启动。删除mysql的日志文件,重启mysql,发现错误:
启动时出错:
正在启动MySQL。pid文件管理器退出,没有更新文件。[失败]
这个原因网上有很多解释,但都不是我想说的。
Data/mysql-bin.index没有被删除,data/mysql-bin.index是存储日志文件索引的文件。只删除日志文件而不处理日志的索引文件显然是不可能的。
删除data/mysql-bin.index文件,然后服务mysqld start。