Python中的MySQLdb:"无法连接到'localhost'上的MySQL服务器"

Gur*_*h S 25 mysql python-2.7

我已经为Python安装了MySQLdb,我可以导入MySQLdb.现在我尝试使用以下代码连接到本地计算机上的MySQL社区服务器:

db=MySQLdb.connect(
    host="localhost",
    user="br_admin",
    passwd="blabla",
    db="br_brain"
)
Run Code Online (Sandbox Code Playgroud)

此代码失败,出现此错误:

Traceback (most recent call last):
  File "<pyshell#22>", line 5, in <module>
  db="brainse_brain"
File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?

chi*_*yad 38

确保提供正确的主机和端口:

'default': {
    'ENGINE': 'django.db.backends.mysql', 
    'NAME': 'yourdbname',                      
    'USER': 'root',                      
    'PASSWORD': 'your password',         
    'HOST': '127.0.0.1',                 
    'PORT': '3306',                      
},
Run Code Online (Sandbox Code Playgroud)

这是我的django应用程序的settings.py文件配置.

同样请主持人"127.0.0.1"和端口"3306".

这可能会解决您的问题.而对于python空闲我已经测试过......

>>> import MySQLdb
>>> Con = MySQLdb.Connect(host="127.0.0.1", port=3306, user="yoruname", passwd="yourpwd", db="test")
>>> Cursor = Con.cursor()
>>> sql = "SELECT * FROM test.testing"
>>> Cursor.execute(sql)
2L
Run Code Online (Sandbox Code Playgroud)

  • 实际上我的问题是我使用的是"localhost"而不是"127.0.0.1".无论如何,您提供的简单测试是一个非常受欢迎的帮助. (8认同)

小智 6

我也有同样的麻烦,我正在使用64位的Windows,而解决方案就是改变主机变量值.当正确的值必须为"127.0.0.1"时,我设置了"localhost".但是,当我在32位Windows上工作时.我可以在主机变量值中设置"localhost"或"127.0.0.1",无论如何,我的django项目运行完美.