美文网首页
服务器突然断电,造成Mysql启动不了的问题解决

服务器突然断电,造成Mysql启动不了的问题解决

作者: Dingsf | 来源:发表于2016-10-24 18:41 被阅读1978次

服务器突然断电,造成MySQL数据库启动不了的问题,现象如下:

[root@localhost ]# service mysql55-mysqld start  
kill 31011: No such process  
Another MySQL daemon already running with the same unix socket.  
Starting mysql51-mysqld:                                   [FAILED]  
  
[root@localhost ]# service mysql55-mysqld status  
mysql51-mysqld dead but pid file exists  

本想找pid文件删除,后来找不到这个文件
于是重命名mysql.sock文件后启动成功:

[root@localhost ]# mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.back  
[root@localhost ]# service mysql55-mysqld start  
Starting mysql51-mysqld:                                   [  OK  ]  

Mysql有两种连接方式:

  • TCP/IP
  • socket

对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用。
例如你无须定义连接host的具体IP得,只要为空或localhost就可以。
在此种情况下,即使你改变mysql的外部port也是一样可能正常连接。
因为你在my.ini中或my.cnf中改变端口后,mysql.sock是随每一次 mysql server启动生成的。已经根据你在更改完my.cnf后重启mysql时重新生成了一次,信息已跟着变更。

原因多个Mysql进程使用了同一个socket。

两个方法解决:

  1. 立即关机 使用命令 shutdown -h now 关机,关机后在启动,进程就停止了。
  2. 直接把mysql.sock文件改名即可。也可以删除,推荐改名。
    然后就可以启动mysql了。

相关文章

网友评论

      本文标题:服务器突然断电,造成Mysql启动不了的问题解决

      本文链接:https://www.haomeiwen.com/subject/nnvluttx.html