问题描述
当尝试使用 MySQL 客户端连接远程 MySQL 数据库时,出现以下错误:
DBMS: MySQL (无版本)
区分大小写: 普通形式=mixed,分隔形式=exact
[HY000][1130] null, message from server: "Host 'xxx' is not allowed to connect to this MySQL server".
原因分析
这个错误通常是由于 MySQL 不允许远程登录引起的。
解决方案
- 编辑 MySQL 配置文件:打开 MySQL 的配置文件(通常位于
/etc/mysql/mysql.conf.d/mysqld.cnf
),找到bind-address
参数,并将其值设置为 MySQL 服务器的 IP 地址或0.0.0.0
(允许所有 IP 访问)。
bind-address = 0.0.0.0
- 重启 MySQL 服务器:保存并关闭配置文件后,重新启动 MySQL 服务器。
sudo service mysql restart
- 检查主机访问权限:登录到 MySQL 服务器,执行以下命令查看主机访问权限。
USE mysql;
SELECT user, host FROM user;
使用以下命令为你的主机添加访问权限。
UPDATE user SET host = '%' WHERE user = 'root';
- 刷新权限:执行以下命令刷新 MySQL 的权限表。
FLUSH PRIVILEGES;
- 重新尝试连接:现在应该可以使用你的 MySQL 客户端连接到 MySQL 服务器了。