/var/lib/mysql/mysql.sock 这个目录是my.cnf中配置的,连接localhost通常通过一个Unix域套接字文件进行,即这个mysql.sock文件。如果套接字文件被删除了,本地客户就不能连接。
systemctl status mysql查看mysql状态如下
可以判定除了Failed to start LSB: start and stop MySQL 没有其他错误。
解决方案:
方法一:
重启服务器
方法二:
建立软连接,/var/lib/mysql是mysql安装路径,如果没有找到mysql.sock文件则忽略方法二。
ln -s /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock
我用了以上两种方法都没有解决问题。
方法三:
进入mysql安装目录,再进入bin目录,执行
service mysql start
报错如下,mysqld.pid也是my.cnf文件中配置的,上图my.cnf中mysql.pid位于/var/run/mysql下,但是发现并没有该目录(最开始是有的,可能因为某些原因被删除了),于是手动创建目录/var/run/mysql,并修改权限chmod 777 /var/run/mysql 或者 chown mysql:mysql /var/run/mysql
然后再次执行service mysql start,启动成功