网站搜索

如何修复错误 1130 (HY000):不允许主机连接到此 MySQL 服务器


在这篇快速文章中,您将了解如何解决 Linux 系统上的 MySQL/MariaDB 数据库部署中的“ERROR 1130 (HY000): Host x.x.x.x is not allowed to connect to this MySQL server”错误。这是用户遇到的常见远程数据库连接错误之一。

测试环境:

  • 应用服务器IP:10.24.96.5
  • 数据库服务器IP:10.24.96.6

我们在使用 mysql 客户端测试从应用服务器之一到数据库服务器的数据库连接时遇到了错误,如图所示。

mysql -u database_username -p -h 10.24.96.6

该错误表明数据库用户连接的主机 10.24.96.5 不允许连接到 MySQL 服务器。在这种情况下,我们必须对数据库服务器进行一些更改,以使用户能够远程连接。

在数据库服务器上,我们必须检查允许上述用户连接的主机。

mysql -u root -p

执行以下SQL命令检查用户主机:

MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";

从命令的输出来看,仅允许用户从 localhost 连接到数据库服务器。因此,我们需要按如下方式更新用户的主机。

运行以下 GRANT 命令以启用远程用户从远程主机的 MySQL 访问权限。确保将“10.24.96.6”替换为远程系统的 IP 地址,并将“database_password”替换为您想要的密码“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";

要让用户从网络上的所有主机进行远程访问,请使用以下语法:

MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.%' IDENTIFIED BY 'database_password';

完成上述更改后,再次尝试远程连接MySQL数据库服务器。连接应该成功,如下面的屏幕截图所示。

mysql -u database_username -p -h 10.24.96.6

我们希望这个解决方案可以帮助您解决 Mysql 远程连接错误。如果有任何疑问,请通过下面的反馈表与我们联系。