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服务器,确认问题是否已解决。

相关推荐
倔强的石头_1 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横1 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二1 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
冬奇Lab2 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
小猿姐2 天前
MySQL Top 10 热点问题 AI 运维实战:从内核诊断到云原生运维
mysql·云原生·aiops
ClouGence2 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
云技纵横2 天前
Gap Lock 死锁实战:5 秒在本地复现 MySQL 间隙锁死锁
后端·mysql
无响应de神2 天前
三、用户与权限管理
数据库·mysql
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql