Подтвердить что ты не робот

MySQLdb в Python: "Не удается подключиться к серверу MySQL на" localhost ""

Я установил MySQLdb для Python, и я могу импортировать 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)")

Как устранить эту ошибку?

4b9b3361

Ответ 1

Обязательно укажите правильный хост и порт:

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

Это моя конфигурация файла settings.py для моего приложения django.

Для вас, пожалуйста, возьмите "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

Ответ 2

У меня тоже была проблема, я работаю над Windows из 64 бит, и решение просто изменило значение переменной хоста. Я установил "localhost", когда правильное значение должно быть "127.0.0.1". Однако, когда я работаю над Windows из 32 бит. Я могу установить "localhost" или "127.0.0.1" в значение переменной хоста, и неважно, мой проект django работает отлично.

Ответ 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")

Ответ 4

Если вы используете окна, вы должны указать IP-адрес "127.0.0.1", использование "localhost" даст вам эту ошибку 2003. На Ubuntu у меня не было проблем.

Ответ 5

В Windows 32, если вы установили хост как 127.0.01, он выдаст ошибку:

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

Но если вы установите host как 127.0.0.1, тогда вы не получите ошибки.