sql >> Base de Datos >  >> RDS >> Mysql

MySQL – Error de conexión – [MySQL][Controlador ODBC 5.3(w)]La 'IP' del host no puede conectarse a este servidor MySQL

Uno de mis clientes me contactó por un problema de servidor vinculado entre SQL Server y MySQL Server. Como trabajo principalmente con SQL Server, fue divertido instalar y conectar MySQL Server. Mientras intentaba simular el problema y quería crear un servidor vinculado. En este blog, aprenderemos cómo corregir el error de conexión de MySQL [MySQL][Controlador ODBC 5.3(w)]El host 'IP' no puede conectarse a este servidor MySQL.

Instalé MySQL Server en un servidor y proporcioné la contraseña del usuario root. Cuando intentaba conectarme al servidor MySQL usando ODBC.

Tan pronto como hice clic en la prueba, veo el siguiente error.

La IP mencionada en el mensaje de error es la IP del cliente que intenta conectarse. El mensaje de texto es el siguiente:

Error de conexión
[MySQL][Controlador ODBC 5.3(w)]El host 'IP' no puede conectarse a este servidor MySQL:

Nunca he visto este error mientras trabajaba con SQL Server, así que no tenía idea de este error. Cuando estaba investigando aprendí a continuación.

De forma predeterminada, MySQL no permite que los clientes remotos se conecten a la base de datos MySQL.

La forma más rápida de verificarlo es la siguiente. Si revisamos la tabla mysql.user, hay una entrada para el usuario 'root' con el host 'localhost'.

Por lo tanto, debemos otorgar permiso para conectarnos al servidor MySQL a un cliente.

SOLUCIÓN ALTERNATIVA/SOLUCIÓN

Primero, asegúrese de que no sea un problema de firewall.

Como discutimos anteriormente, es un problema con los permisos. Entonces podemos dar permiso usando el comando.

Use mysql;
GRANT ALL ON *.* to root@'x.x.x.x' IDENTIFIED BY 'your-root-password';

También puede usar MySQL Workbench para hacer eso. La siguiente captura de pantalla indica los pasos a seguir. Al igual que el comando, debemos ingresar el nombre de usuario, la contraseña y la IP en la pantalla gráfica.

Espero que este blog te ayude. Después de los cambios anteriores, cuando intente conectarse a la base de datos mysql desde este cliente remoto (le hemos dado la IP/nombre de host), ya no debería recibir el mensaje de error "El host no puede conectarse a este servidor MySQL". También podemos usar % para permitir todos los hosts, pero no prefiero esa opción.

No soy un experto en MySQL, así que no dude en comentar y dejarme saber si hay mejores formas.