Búsqueda de sitios web

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


En este breve artículo, 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 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 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 conecta el usuario de la base de datos no tiene permiso para 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";

Según el resultado 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 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 ” con 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 brindarle 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 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 le 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.