应用程序连接 MySql,出现
# mysql error
2002 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
有以下解决办法:
- 如果有服务器权限的话,可以修改 my.cnf 来解决
- 如果有服务器权限的话,PHP可以修改 php.ini 的 mysql.default_socket 来解决
- 可以在连接时指定 socket 来解决,例如:
// PHP PDO $dsn = "mysql:host=localhost;dbname=test;unix_socket=/path/to/mysql.sock";
# Python conn = connect(db="test", user="root", host="localhost", unix_socket="/path/to/mysql.sock")
- 更简单的方法:使用IP地址来连接:
// PHP PDO $dsn = "mysql:host=127.0.0.1;dbname=test";
# python conn = connect(db="test", user="root", host="127.0.0.1")