当我通过 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
最佳答案
问:你的 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
关于php - 无法连接: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712462/