服务器突然断电,造成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进程使用了同一个socket。
两个方法解决:
- 立即关机 使用命令 shutdown -h now 关机,关机后在启动,进程就停止了。
- 直接把mysql.sock文件改名即可。也可以删除,推荐改名。
然后就可以启动mysql了。