MySQL远程连接错误解决:“Host is not allowed to connect to this MySQL server”详解

目录

一、异常错误

通过远程客户端访问MySQL服务器时会遇到"Host is not allowed to connect to this MySQL server"的错误提示。

二、原因

MySQL服务器当前配置不允许来自特定主机的连接尝试。

三、解决方法

允许远程主机访问MySQL服务器,按照以下步骤操作:

  1. 登录本地MySQL服务器

以管理员身份登录到MySQL服务器,输入MySQL root用户的密码:

复制代码
   mysql -u root -p
  1. 选择MySQL数据库

登录成功后,切换到MySQL系统数据库:

复制代码
   use mysql;
  1. 更新用户权限

修改root用户的host字段(或其他需要远程访问的用户),允许任意远程主机(用 '%' 表示)进行连接,但这一步可能涉及到安全风险,建议只针对需要远程访问的特定用户设置具体的远程IP地址,而不是使用通配符 % 开启所有远程访问:

复制代码
   update user set host = '%' where user = 'root';
  1. 刷新权限

    flush privileges;

  2. 防火墙设置

确保服务器的防火墙规则允许MySQL服务端口(默认为3306)上的入站流量。

  1. MySQL配置文件

检查MySQL服务器的配置文件(如 my.cnfmy.ini),确保没有禁止远程连接的相关设置, bind-address 参数通常需要设置为 0.0.0.0 或者指定的公网IP地址以接受远程连接。

  1. 验证远程连接

从远程客户端尝试重新连接到MySQL服务器,确认问题是否已解决。

相关推荐
SunflowerCoder10 分钟前
EF Core + PostgreSQL 配置表设计踩坑记录:从 23505 到 ChangeTracker 冲突
数据库·postgresql·c#·efcore
短剑重铸之日18 分钟前
《7天学会Redis》Day2 - 深入Redis数据结构与底层实现
数据结构·数据库·redis·后端
Zoey的笔记本1 小时前
「支持ISO27001的GTD协作平台」数据生命周期管理方案与加密通信协议
java·前端·数据库
什么都不会的Tristan1 小时前
MybatisPlus-扩展功能
数据库·mysql
超级种码2 小时前
Redis:Redis 数据类型
数据库·redis·缓存
chirrupy_hamal2 小时前
PostgreSQL 中的“脏页(Dirty Pages)”是什么?
数据库·postgresql
陈天伟教授3 小时前
关系数据库-07. 关系操作
数据库·达梦数据库·国产数据库
zzhongcy3 小时前
复合索引 (item1, item2, item3 ) > (?, ?, ?) 不起作用,EXPLAIN 后type=ALL(全表扫描)
android·数据库
Elastic 中国社区官方博客3 小时前
Elastic:DevRel 通讯 — 2026 年 1 月
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
可观测性用观测云3 小时前
AWS RDS 可观测性最佳实践
数据库