Can’t connect to local MySQL server报错或者无法启动mysqld服务问题解决方案参考


centos服务器断电,服务器重启后,MySQL数据库启动失败,下面记录一下修改过程


先是尝试进入数据库:mysql -u root -p,输入password后,发现报错:
Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)

参考了其他人的方法(提醒一下,如果要做删除的话,最好还是备份一下):
1、有人说这样可以进去:mysql -uroot -h 127.0.0.1 -p,我试了一下,也还是报错,无法进入,如果你可以,可以参考hjf161105说的方法
2、也有人说删除ib_logfile0和ib_logfile1两个文件就可以了,我试了一下,也没用
3、我还试过将/var/lib/mysql/mysql.sock删除,后面发现也没有用,然后我的报错还变成了Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2),这里我没有做备份就直接删了,当时特别后悔,删了之后,才想到备份,幸好没出事

每次尝试后,启动服务,都是同样报错:Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalc
tl -xe” for details.

几经尝试,发现下面这个方法可行

查看日志:cat /var/log/mysqld.log,发现有报错,一般来说,这里面说,解决问题应该都是根据这里面的error去找解决办法,我是走了些弯路才去看这个log的
Can’t connect to local MySQL server报错或者无法启动mysqld服务问题解决方案参考
可以发现这里的第一条报错是
mysqld: Can’t find file: ‘./mysql/plugin.frm’ (errno: 13 - Permission denied)
因此,就先解决这个报错,而我在解决这个问题之后,MySQL就正常启动了

解决方法

参考sunny05296的博文,感谢大佬):
1、进入plugin.frm所在目录,我的是在/var/lib/mysql/mysql
Can’t connect to local MySQL server报错或者无法启动mysqld服务问题解决方案参考
2、修改权限:chown mysql.mysql *
Can’t connect to local MySQL server报错或者无法启动mysqld服务问题解决方案参考
3、启动mysql服务:service mysqld start,发现成功,舒服了,哈哈哈哈哈
Can’t connect to local MySQL server报错或者无法启动mysqld服务问题解决方案参考