En este breve artículo, aprenderá cómo resolver el “ERROR 1130 (HY000):Host x.x.x.x no puede conectarse a este servidor MySQL ” error en la implementación de la base de datos MySQL/MariaDB en un sistema Linux. Este es uno de los errores comunes de conexión a bases de datos remotas que encuentran los usuarios.
Entorno de prueba:
- IP del servidor de aplicaciones :10.24.96.5
- IP del servidor de base de datos :10.24.96.6
Encontramos el error al probar la conexión de la base de datos de uno de nuestros servidores de aplicaciones a un servidor de base de datos, usando mysql cliente como se muestra.
# mysql -u database_username -p -h 10.24.96.6
El error indica que el host 10.24.96.5 desde la que el usuario de la base de datos se está conectando no se le permite conectarse al servidor MySQL. En este caso, tenemos que hacer algunos cambios en el servidor de la base de datos para permitir que el usuario se conecte de forma remota.
En el servidor de la base de datos, tenemos que verificar el host desde el que el usuario anterior puede conectarse.
# mysql -u root -p
Ejecute los siguientes comandos SQL para verificar el host del usuario:
MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";
Desde la salida del comando, el usuario solo puede conectarse al servidor de la base de datos desde el localhost . Entonces, necesitamos actualizar los hosts del usuario de la siguiente manera.
Ejecute el siguiente GRANT Comando para habilitar el acceso a MySQL para el usuario remoto desde un host remoto. Asegúrese de reemplazar "10.24.96.6 ” con la dirección IP del sistema remoto y “database_password ” a la contraseña que desea “database_username ” para usar:
MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.5' IDENTIFIED BY 'database_password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";
Para otorgar a un usuario acceso remoto desde todos los hosts de una red, utilice la siguiente sintaxis:
MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.%' IDENTIFIED BY 'database_password';
Después de realizar los cambios anteriores, intente conectarse de forma remota al servidor de la base de datos MySQL una vez más. La conexión debería ser exitosa como se muestra en la siguiente captura de pantalla.
# mysql -u database_username -p -h 10.24.96.6
Esperamos que esta solución lo haya ayudado a resolver su error de conexión remota de Mysql. Si tiene alguna consulta, comuníquese con nosotros a través del formulario de comentarios a continuación.