Linux下Mysql启动异常排查方案

遇到Mysql启动异常问题,可以从以下几个方面依次进行问题排查:

(1)如果遇到“Can't connect to local MySQL server through socket '/tmp/mysql.sock'”类似问题,查看Mysql配置文件(默认在/etc/my.cnf目录下),使用命令vi /etc/my.cnf,查看是否具备如下配置,

[mysqld]
port            = 3306
socket       = /var/lib/mysql/mysql.sock

可能其存在访问权限问题,故对其建立软连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

(2)使用命令:systemctl status mysql.service查看mysql服务是否正常(在重装Mysql时,存在服务假启动现象,可以执行systemctl restart mysql.service查看Mysql是否能正常启动)。若无法正常启动,查看并分析其报错原因。

(3)若对于(2)过程中,无法查看失败原因的。从系统日志(默认目录在:/var/log/message)和Mysql日志文件中进行查看(默认目录在:/var/log/mysql/error.log),分析原因。

(4)若(3)不奏效,可以直接使用/usr/sbin/mysql运行Mysql可执行脚本对Mysql进行启动,查看具体报错原因。

(5)最后,使用ps -ef|grep mysql 查看是否有其他进程占用,导致Mysql无法启动。直接使用kill -9 [进程ID]杀掉进程,再执行(4)操作,看是否能够启动Mysql。

如果经历了上述步骤,发现问题依旧没有解决,有个万能解决方案,先把Mysql卸载,然后重装。如何完全卸载Mysql服务,步骤如下:

  sudo rm -rf /var/lib/mysql

  sudo rm -rf /etc/mysql

  sudo apt-get autoremove mysql* --purge     //注:如果这个步骤无法正常执行,可先执行apt-get remove mysql-server*

  sudo apt-get remove apparmor

  sudo apt-get install mysql-server mysql-common

  

 

posted @ 2019-09-16 22:53  菜鸟想高飞  阅读(892)  评论(0编辑  收藏  举报