启动mysqld服务时出现奇怪的错误:
Another MySQL daemon already running with the same unix socket.
我试图列出正在运行的服务并停止它们,但启动mysqld服务时会发生同样的错误.
我可以尝试删除mysqld并重新安装它,但这也会删除数据库吗?
要防止出现此问题,必须从命令行正常关闭服务器,而不是关闭服务器电源.
# mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak # service mysqld start
这将在关闭机器之前停止正在运行的服务.
基于Centos,当您遇到此问题时,再次备份它的另一种方法是移动mysql.sock:
# mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak # service mysqld start
重新启动该服务会创建一个名为mqsql.sock的新条目
以root身份运行,您将全部设置:
rm $(grep socket /etc/my.cnf | cut -d= -f2) && service mysqld start
您可以通过手动搜索/etc/my.conf
或仅使用来查找MySQL套接字文件的位置
grep socket /etc/my.cnf | cut -d= -f2
很可能是/var/lib/mysql/mysql.sock
.然后(当然是root用户,或者用sudo
pre)删除该文件:
rm /var/lib/mysql/mysql.sock
然后启动MySQL守护进程:
service mysqld start
删除mysqld
不会解决问题.问题是CentOS和RedHat sock
在崩溃后不会清理文件,因此您必须自己完成.当然也建议避免关闭系统电源,但有时你无法避免它,所以这个程序将解决问题.