Cómo corregir el ERROR 1130 (HY000): el host no puede conectarse a este servidor MySQL


En este artículo rápido, aprenderá cómo resolver el error “ERROR 1130 (HY000): El host x.x.x.x no puede conectarse a este servidor MySQL” 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 de bases de datos remotas que encuentran los usuarios.

  • Application Server IP: 10.24.96.5
  • Database Server IP: 10.24.96.6

Encontramos el error al probar la conexión de la base de datos desde uno de nuestros servidores de aplicaciones a un servidor de base de datos, usando el cliente mysql como se muestra.

# mysql -u database_username -p -h 10.24.96.6

El error indica que el host 10.24.96.5 desde el que se está conectando el usuario de la base de datos no está autorizado a conectarse al servidor MySQL. En este caso, tenemos que realizar 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 el resultado del comando, el usuario solo puede conectarse al servidor de la base de datos desde el host local. Por lo tanto, necesitamos actualizar los hosts del usuario de la siguiente manera.

Ejecute el siguiente comando GRANT 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" por la contraseña que desea que use "database_username":

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 sintaxis siguiente:

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 pregunta, comuníquese con nosotros a través del formulario de comentarios a continuación.