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)")
Как устранить эту ошибку?
Ответы
Ответ 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
, тогда вы не получите ошибки.