No se puede conectar a MySQL Server con MySQL Command Line Client y el conector mysql para python
Recientemente configuré MySQL Server en mi computadora. Pero el cliente de la línea de comandos solicita la contraseña y simplemente se cierra sin mostrar nada. El conector mysql para python tampoco se puede conectar.
import mysql.connector
mydb = mysql.connector.connect(username='username',passwd='password')
Solo da
InterfaceError: 2003: Can't connect to MySQL server on '127.0.0.1:3306' (10061 No connection could be made because the target machine actively refused it)
Vi en algún lugar que configurar el host en localhost podría ayudar.
import mysql.connector
mydb = mysql.connector.connect(username='username',passwd='password',host='localhost')
Pero aún así:
InterfaceError: 2003: Can't connect to MySQL server on 'localhost:3306' (10061 No connection could be made because the target machine actively refused it)
¿La máquina objetivo la rechazó activamente?
Esto ya sucedió una vez y reconfiguré MySQL Server desde MySQL Community Installer, lo que lo hizo funcionar temporalmente tanto en el cliente de línea de comandos como con el conector de Python. ¿Hay alguna forma de solucionar este problema de forma permanente?
Estas son las versiones de software que estoy usando:
- MySQL Server 8.0.21
- Instalador del servidor MySQL 1.34.4.0
- Python 3.8.2
- JupyterLab 2.1.2
EDITAR: Debería haber mencionado que estoy ejecutando Windows 10.
Respuestas
#replace el nombre de usuario como usuario y debería funcionar
import mysql.connector
mydb = mysql.connector.connect(user='username',passwd='password',host='localhost')
Si el cliente de línea de comandos de MySQL80 se cierra después de ingresar la contraseña, significa que está ingresando una contraseña incorrecta. Normalmente, la contraseña que solicita es la contraseña de root. Para tal caso, consulte esta página:https://dev.mysql.com/doc/refman/8.0/en/mysql-installer-workflow.html#mysql-installer-workflow-server y eventualmente tendrá que restablecer su root pwd y sus cuentas de usuario.
Con la ayuda de @Erick, conseguí que MySQL funcionara para mí. Por lo tanto, MySQL generalmente se instala como un servicio en Windows y está configurado para iniciar manualmente cada sesión. Por eso la reconfiguración funcionó, pero solo una vez. Lo que debe hacer es ir a servicios y buscar MySQL80. Si aún no se está ejecutando (que fue lo que me sucedió a mí), haga doble clic en él para comenzar y configure 'Tipo de inicio' en automático para que MySQL Server se inicie automáticamente durante el inicio del sistema. Para mí, hacer esto hizo que tanto el cliente como Python pudieran conectarse al servidor :).