27

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

db=MySQLdb.connect(
    host="localhost",
    user="br_admin",
    passwd="blabla",
    db="br_brain"
)

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

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)")

如何解决此错误?

4

7 回答 7

41

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

'default': {
    'ENGINE': 'django.db.backends.mysql', 
    'NAME': 'yourdbname',                      
    'USER': 'root',                      
    'PASSWORD': 'your password',         
    'HOST': '127.0.0.1',                 
    'PORT': '3306',                      
},

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

你也一样,请使用主机“127.0.0.1”和端口“3306”。

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

>>> 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
于 2012-08-03T06:32:12.017 回答
6

我也遇到了同样的麻烦,我正在使用 64 位的 Windows,解决方案只是更改主机变量值。当正确的值必须是“127.0.0.1”时,我设置了“localhost”。但是,当我在 32 位的 Windows 上工作时。我可以在主机变量值中设置“localhost”或“127.0.0.1”,无论如何,我的 django 项目运行良好。

于 2013-02-26T20:48:34.987 回答
3

这将正常工作:

    db = MySQLdb.connect(host="127.0.0.1",user="db_username",passwd="db_password",db="db_name") 

或者

   db=  MySQLdb.connect("127.0.0.1","db_username","db_password","db_name")
于 2015-09-30T06:32:08.857 回答
1

如果您使用的是 Windows,您应该将 IP 指定为“127.0.0.1”,使用“localhost”会给您错误 2003。在 Ubuntu 上我没有问题。

于 2014-09-17T10:14:46.657 回答
1

在 Windows 32 中,如果您将主机设置为127.0.01它会给出关闭错误:

OperationalError: (2005, "Unknown MySQL server host '127.0.01' (0)")

但是,如果您将主机设置为,127.0.0.1则不会出现错误。

于 2015-08-21T11:30:07.333 回答
0
 - DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.mysql',
           'NAME': 'dataflair',
           'USER':'root',
           'PASSWORD':'',
           'HOST':'127.0.0.1',
           'PORT':'3306',
           'OPTIONS':{
       'init_command':"SET sql_mode=STRICT_TRANS_TABLES" }
于 2021-06-21T10:27:37.380 回答
0

1.转到MySQL工作台
2.在上面的任务栏上,点击服务器->然后点击启动/关闭
3.在屏幕上,点击启动服务器,您将获得服务器启动和运行的日志

于 2019-04-06T15:00:47.927 回答