无法使用Python中的MySQLdb连接到MySQL,可以从命令行连接

时间:2018-08-24 19:02:32

标签: python mysql

我在使用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

0 个答案:

没有答案