在本文中,您将学习如何解决在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远程连接错误。A5互联https://www.a5idc.net/

Logo

更多推荐