2

当我通过 php 脚本连接我的数据库时,它显示

Could not connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

用户名和密码是正确的。

的东西my.cnf

[client]
#password       = your_password
port            = 3306
socket          = /data/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port            = 3306
socket          = /data/mysql/mysql.sock
skip-external-locking

ps:我把它改成socket = /var/lib/mysql/mysql.sock php脚本仍然说“/var/lib/mysql/mysql.sock”?。然后运行

  mysqladmin -u root -p status

表明

mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists!




service mysqld restart


mysqld: unrecognized service
4

1 回答 1

2

问:您的 my.conf 是否仍然显示“/var/lib/mysql/mysql.sock”?

问:目录“/var/lib/mysql”是否存在?

问:你的 mysql 用户(或者更好的 mysql 组)是否有 writer 权限?

如果是这样,请尝试重新启动mysql,看看会发生什么。

附录:

要尝试的另一件事是创建一个 mysql.sock 并显式授予它权限:

cd /var/lib
mkdir mysql
touch mysql/mysql.sock
chown -R mysql:mysql mysql
于 2012-05-23T02:05:18.637 回答