问题出现原因
在my.cnf中配置 log-bin=mysql_bin 时 并且没有停止服务的情况下删除 mysql-bin.000001等二进制储存文件,然后我又重启服务器或者mysql 把 mysql的临时文件释放掉,在重启的时候mysql就报错了,因为mysql-bing.index中记录了0001等文件,读取不到了。
mysql.log错误日志如下
产生这些二进制文件是因为我想备份数据然后在my.cnf中配置了 log_bin=mysql-bin
解决过程
1.查询mysql状态,停用自启动,查看端口,查看MySQL进程 。
2.查阅资料说删除 ib_logfile ,mysql-bin.index 等文件 (我的操作)。
3.在my.cnf 中的mysqld 增加配置 (我的操作)。
federated
skip-external-locking
skip-name-resolve
4. 因为查看到pid进程无法创建,考虑mysql对文件操作权限的问题。
chown -R mysql.mysql /data/mysql
注:以后如果还删除mysql-bin.00001等二进制文件需要下停止服务,不然下次重启的时候,mysql-bin.index去读取00001等文件找不到就启动不了。
教训:后面处理出现一个错误,结果发现是在配置my.cnf是在INNODB 后面多个了一个d