MySql 2002 连接失败的解决方法

应用程序连接 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")
推荐用最后一种方法解决,具有最高的连接速度,最容易移植。当然,如果mysql服务器是网络上的另外的主机而不是本机,则不会存在此问题。

你可能感兴趣的:(MySql 2002 连接失败的解决方法)