Pregunta MySQLdb en Python: "No se puede conectar al servidor MySQL en 'localhost'"


He instalado MySQLdb para Python y puedo importar MySQLdb. Ahora trato de conectarme al MySQL Community Server en mi máquina local, usando este código:

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

Este código falla con este error:

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

¿Cómo resuelvo este error?


23
2018-06-20 14:29


origen


Respuestas:


Asegúrese de proporcionar el host y el puerto adecuados:

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

Esta es mi configuración del archivo settings.py para mi aplicación django.

Lo mismo para usted, tome el host "127.0.0.1" y el puerto "3306".

Esto podría resolver su problema. Y para Python inactivo, he probado como ...

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

37
2017-08-03 06:32



También tuve el mismo problema, estoy trabajando en un Windows de 64 bits, y la solución solo estaba cambiando el valor de la variable del host. Establecí "localhost" cuando el valor correcto tiene que ser "127.0.0.1". Sin embargo, cuando estoy trabajando en Windows de 32 bits. Puedo establecer "localhost" o "127.0.0.1" en el valor de la variable de host y no importa, el proyecto de mi django funciona perfectamente.


6
2018-02-26 20:48



Esto funcionará bien:

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

o

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

3
2017-09-30 06:32



En Windows 32, si configura el host como 127.0.01 da el error de down:

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

Pero si configuras el host como 127.0.0.1 entonces no obtienes ningún error.


1
2017-08-21 11:30



Si está utilizando Windows debe especificar la dirección IP a "127.0.0.1", usar "localhost" le dará ese error 2003. En Ubuntu no tuve ningún problema.


1
2017-09-17 10:14