解决var/run/mysqld没有pid和sock文件

Posted 王明辉的部落

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决var/run/mysqld没有pid和sock文件相关的知识,希望对你有一定的参考价值。

有时候重启mysql会提示/tmp/mysql.sock不存在,此时通常会由于两种情况导致,解决方法:

一、解决var/run/mysqld没有pid和sock文件

MySQL下mysql.sock丢失丢失的原因一般是因为配置文件不一致的原因,mysqld 错误启动,mysqld_safe 会清除一次mysql.sock 。解决方法是:

判断一般人解决故障时没有切换到mysql用户,造成权限有问题,无法创建mysql授权表,所以也就无法创建/tmp/mysql.sock 和hostname.pid文件。因此,总结解决方法如下:

#su mysql  // root 用户也是可以的

$/usr/local/bin/mysql_install_db     //到bin目录执行,重建授权表

$/usr/local/bin/mysqld_safe &    

mysql -uroot -p                  //测试

mysq>bye;

如果能看到重新生成新的 /tmp/mysql.sock 和 hostname.pid 问题,说明问题已经解决。

 

二、解决mysql.sock文件路径不对的问题

方法一:在/var/lib/mysql创建一个link:ln -s /var/lib/mysql/mysql.sock /path/to/mysql/mysql.sock

方法二:在root权限下修改my.cnf文件(/etc/mysql/my.cnf),指定正确的路径。

以上是关于解决var/run/mysqld没有pid和sock文件的主要内容,如果未能解决你的问题,请参考以下文章

mysql/mariadb配置详解

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.socket

mysql

docker 安装redis 和 mysql

mysql 高 CPU 使用率 (280%)

mysql5.7配置文件优化