停止服务报错:
命令:/etc/init.d/mysqld stop
ERROR! MySQL server PID file could not be found!
1.在进行了删除mysqlbinlog二进制日志
操作为:
PURGE BINARY LOGS TO 'mysql-bin.000002';
2.后面进行了修改/etc/my.cnf配置文件
添加了启动gtid和gtid的优化参数两个配置
操作为:
gtid-mode = on #开启gtid
enforce-gtid-consistency = true #强制gtid的一致性
解决过程:
1.采用杀掉mysqld进程的方式
kill -9 23432 发现杀不掉
2.查资料提示赋予/data/binlog目录下的文件755权限
查看当前binlog目录权限为755,目录下文件权限为541
chmod -R 755 binlog
发现还是不能启动
3.还原对my.cnf的操作
还是不行
4.查看日志 发现提示locked ibdata文件
2020-03-26T08:52:23.429532Z 0 [ERROR] InnoDB: Cannot open datafile './ibdata1'
发现ibdata1的权限为640
此时进行赋予所有数据文件755的操作
cd /data
chmod -R 755 *
还是不能启动,不能杀进程,这里我去看下老师的视频
7.网上提示binlog空间不足 我是放在根目录/data下的 这个挂载/的盘还有31个G
这不科学 .这里我将他删掉再说.
将日志全部删掉,在mysql客户端进行shutdown操作,奇迹出现了
进程没了,重启也实现了
这里,我在次操作看能否模拟此次错误
目前我经过操作,产生了10个mysql-bin-log
通过purge 删除3个。再次停止试一试 ;
PURGE BINARY LOGS TO 'mysql-bin.000004';
这里又停止成功了。
you不知道哪里出了问题。
我们再次添加gtid的配置 看看是不是这里出了问题.
添加后,
成功启动了mysql。。。我真是慌的一笔 。。
显然我们没有模拟到这个情况。所以暂时认为解决办法是清空了binlog。
然后在客户端进行了shutdown操作。
所以虽然解决了,但是没有定位到问题在哪里,可能还是binlog出了问题。
网友评论