1. 背景
机器磁盘满导致mysql连接不上,删除部分日志,错误将mysql-bin.0050* 都删除,重启mysql失败
$ service mysqld start
Starting MySQL.......... ERROR! The server quit without updating PID file (/data/mysqldata/gzqc249-243-214-g249hqzltcs1.pid).
2. 解决方法
MySQL 数据存放的绝对路径
$ grep datadir /etc/my.cnf
datadir = /data/mysqldata
先备份 /data/mysqldata/mysql-bin.index 然后清空 /data/mysqldata/mysql-bin.index。
启动mysql:
service mysqld start
3. 原因
mysql-bin是数据库的操作日志文件,mysql-bin.index中记录的是文件已经删除,mysql-bin.index内容需要清空。
4. 正确清理binlog
4.1 设置过期删除时间
查看当前到期时间:
> show variables like 'expire_logs_days';