在这篇快速文章中,您将了解如何解决Linux 系统上的MySQL/MariaDB 数据库部署中的“ ERROR 1130 (HY000): Host xxxx is not allowed to connect to this MySQL server ”错误。这是用户遇到的常见远程数据库连接错误之一。
测试环境:
- 应用服务器IP:10.24.96.5
- 数据库服务器IP:10.24.96.6
我们在使用mysql客户端测试从应用程序服务器之一到数据库服务器的数据库连接时遇到了错误,如图所示。
# mysql -u 数据库用户名 -p -h 10.24.96.6
![](https://www.alaica.com/wp-content/uploads/linux-967.png)
该错误表明数据库用户连接的主机10.24.96.5不允许连接到 MySQL 服务器。在这种情况下,我们必须对数据库服务器进行一些更改,以使用户能够远程连接。
在数据库服务器上,我们必须检查允许上述用户连接的主机。
# mysql -u 根 -p
执行以下SQL命令检查用户主机:
MariaDB [(none)]>从 mysql.user 中选择主机,其中 user =“ database_username ”;
![](https://www.alaica.com/wp-content/uploads/linux-968.png)
从命令的输出来看,仅允许用户从 localhost 连接到数据库服务器。因此,我们需要按如下方式更新用户的主机。
运行以下GRANT命令以允许远程用户从远程主机访问 MySQL。确保将“ 10.24.96.6 ”替换为远程系统的IP地址,将“ database_password ”替换为您希望“ database_username ”使用的密码:
MariaDB [(无)]>授予数据库名称上的所有内容。* 到 ' database_username'@'10.24.96.5 '由 ' database_password '标识; MariaDB [(无)]>刷新权限; MariaDB [(none)]>从 mysql.user 中选择主机,其中 user =“ database_username ”;
![](https://www.alaica.com/wp-content/uploads/linux-969.png)
要让用户从网络上的所有主机进行远程访问,请使用以下语法:
MariaDB [(无)]>将所有数据库名称.* 授予“数据库用户名”@“ 10.24.96.% ”由“数据库密码”标识;
完成上述更改后,再次尝试远程连接MySQL数据库服务器。连接应该成功,如下面的屏幕截图所示。
# mysql -u 数据库用户名 -p -h 10.24.96.6
![](https://www.alaica.com/wp-content/uploads/linux-970.png)
我们希望这个解决方案可以帮助您解决 Mysql 远程连接错误。如果有任何疑问,请通过下面的反馈表与我们联系。