我在用python连接本地mysql数据库时遇到问题,但是从命令行连接时没有问题。
当我尝试这个:
db = MySQLdb.connect(host="localhost",
user="username",
passwd="password",
db="dbname",
port=3306,
unix_socket="/var/run/mysqld/mysqld.sock")
我得到以下错误:
OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
当我没有显式地传递套接字路径时,也会出现同样的错误。当我使用 127.0.0.1
而不是 localhost
作为主机(同时删除unix套接字参数):
OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' (111)")
我知道mysql正在运行,因为当我可以从命令行连接到数据库时没有问题 mysql -u username -p dbname
. 我也知道mysql正在监听 127.0.0.1
,当我跑的时候 mysql -h 127.0.0.1 -p
我也能连接。我也肯定它在听左舷 3306
.
暂无答案!
目前还没有任何答案,快来回答吧!