MySQLdb in Python: “Can't connect to MySQL server on 'localhost'”

匿名 (未验证) 提交于 2019-12-03 00:48:01

问题:

I have installed MySQLdb for Python and I am able to import MySQLdb. Now I try to connect to the MySQL Community Server on my local machine, using this code:

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

This code fails with this error:

Traceback (most recent call last):   File "", line 5, in    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)") 

How do I resolve this error?

回答1:

Make sure to provide the proper host and port:

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

This is my settings.py file config for my django app.

Same for you please take host "127.0.0.1" and port "3306".

This might solve your problem. And for python idle I've tested like...

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


回答2:

I had the same trouble too, I'm working on a Windows of 64 bits, and the solution just was changing the host variable value. I had set "localhost" when the correct value have to be "127.0.0.1". However, when I'm working on Windows of 32 bits. I can set "localhost" or "127.0.0.1" in the host variable value and no matter, my django's project runs perfectly.



回答3:

This will work fine :

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

or

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


回答4:

In Windows 32, if you set host as 127.0.01 it gives the down error:

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

But if you set host as 127.0.0.1 then you get no error.



回答5:

If you are using windows you should specify the IP to "127.0.0.1", using "localhost" will give you that error 2003. On Ubuntu I had no problem.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!