mysql.sock问题

Posted 天宇星空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql.sock问题相关的知识,希望对你有一定的参考价值。

Can‘t connect to local mysql server through socket ‘/tmp/mysql.sock‘

上述提示可能在启动mysql时遇到,即在/tmp/mysql.sock位置找不到所需要的mysql.sock文件,主要是由于my.cnf文件里对mysql.sock的位置设定导致。

mysql.sock默认的是在/var/lib/mysql, 如果发现确实是在该目录下,可以在[mysqld]下面加入mysql.sock的path
vi /etc/my.cnf(my.cnf也可能在其他路径下)

[mysqld]
port            = 3306
socket       = /var/lib/mysql/mysql.sock

但是要保证使用mysql的用户具有对该目录的写权限,否则这样的改动由于权限限制仍然会报错。

所以为了避免权限问题也可以使用软链接为/var/lib/mysql/mysql.sock创建一个到/tmp/mysql.sock的联接

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

由于/tmp/文件夹默认对other有w权限,这样就可以避免权限问题。

此外,如果发现mysql.sock不在默认的/var/lib/mysql位置,一种解决方法是使用find命令搜索mysql.sock的位置,然后按前面两种解决方案挑一种做即可。






以上是关于mysql.sock问题的主要内容,如果未能解决你的问题,请参考以下文章

phpmyadmin 2002 错误,mysql.sock.lock 似乎取代了 mysql.sock 文件

找不到 mysql.sock

mysql问题:没有mysql.sock

linux 安装mysql 出现 mysql.sock问题解决方法

“无法连接...通过套接字'/tmp/mysql.sock'”使用 C API mysql_real_connect() 但 /tmp/mysql.sock' 存在

更改 mysql.sock