Acabo de configurar un VPS con una base de datos Mysql. Puedo iniciar sesión en la base de datos en el terminal SSH con mysql -uroot -p ; sin embargo, el archivo python que se muestra a continuación no puede establecer una conexión y hay errores con Access denied for root@localhost (using password: YES) . Estoy confundido en cuanto a por qué sucede esto. Estoy 100% seguro de que mi contraseña es correcta. estoy usando mysql.conector
Archivo de Python:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="root", password="pwd", database="db" ) mycursor = mydb.cursor() sql = "INSERT INTO test (tests) VALUES (%s)" val = ("testing") mycursor.execute(sql, val) mydb.commit()Soy un poco nuevo en esto de DB y VPS, así que tengan paciencia conmigo si no entiendo en el primer intento.
¡Gracias!
Además de la respuesta de @don
Supongo que tiene algo que ver con el dns que no resuelve localhost correctamente. He experimentado eso antes, pero aparte de solo mapear localhost a 127.0.01 en el archivo del host,
Esto también se puede arreglar cambiando un valor en su archivo /etc/mysql/my.cnf .
Es probable que su línea bind-address sea
bind-address = localhostPuedes intentar cambiarlo a
bind-address = 127.0.0.1 También puede configurarlo en 0.0.0.0 , pero esto expondrá la conexión al mundo exterior (incluida la IP pública), por lo que no es muy recomendable, pero resolverá el problema.