MySQL连接报错处理:1130-host ... is not allowed to connect to this MySql server

在MySQL安装完成后,很多开发者会遇到这样一个问题:

错误代码 1130:host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySql server

这个错误通常出现在你尝试通过远程工具(如 Navicat、DBeaver 等)连接 MySQL 数据库时,虽然服务器可以 ping 通、也可以 telnet 端口,但就是无法建立数据库连接。

本文将一步步带你排查并解决这个问题。


第一步:问题描述

如下图所示,当你使用远程客户端试图连接 MySQL 服务器时,提示如下错误信息:

🔥错误信息:

复制代码
1130 - host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySql server

第二步:登录MySQL服务器并进入命令行

首先,你需要登录到运行MySQL服务的服务器中,使用root用户登录MySQL命令行:

复制代码
mysql -u root -p

系统会提示你输入密码,输入后即可进入MySQL操作界面。


第三步:查看所有数据库

在MySQL命令行中执行以下命令,查看当前所有的数据库:

复制代码
SHOW DATABASES;

你会看到包括 mysql 在内的多个系统数据库。


第四步:切换到 mysql 数据库

我们要修改的是 mysql 数据库中的用户权限配置,因此需要先进入该数据库:

复制代码
USE mysql;

第五步:查看 mysql 数据库中的表

为了确认我们是否找到了用户权限相关的表,可以查看当前数据库中的所有表:

复制代码
SHOW TABLES;

你应该能看到一个名为 user 的表,它存储了MySQL用户的登录权限信息。


第六步:查看 user 表中的 Host 和 User 字段

接下来查询 user 表中的用户和主机限制:

复制代码
SELECT Host, User FROM user;

这说明目前只有本地可以访问 root 用户,远程请求不被允许。


第七步:修改 user 表中的 Host 值

为了让 root 用户可以从任意主机连接,我们需要将 Host 设置为 %:

复制代码
UPDATE user SET Host = '%' WHERE User = 'root';

执行完后刷新权限,使更改立即生效:

复制代码
FLUSH PRIVILEGES;

第八步:重新使用可视化工具测试连接

现在回到你的设备,打开Navicat或其他MySQL可视化客户端工具,重新尝试连接数据库。

🎉 如果一切正常,你应该可以看到连接成功的提示!


小结

出现 1130-host ... is not allowed to connect to this MySql server 错误的主要原因是 MySQL 中的用户权限限制,尤其是 Host 字段未设置为 %,导致不允许远程访问。


扩展建议(可选)

  • ✅ 推荐创建专门用于远程连接的账户,而不是直接使用root。
  • 🔐 确保关闭防火墙。

感谢阅读!如果你觉得这篇文章对你有帮助,欢迎 点赞、收藏、转发 支持一下,也欢迎留言交流更多关于MySQL的问题!

相关推荐
鸥梨菌Honevid8 分钟前
UVM 面试高频:uvm_test_top 与 uvm_config_db 路径机制全解析
数据库·面试·职场和发展
极小狐14 分钟前
MR 里测试摘要空白、覆盖率不显示?JUnit 与覆盖率配置 9 步排查
数据库·ci/cd·junit·单元测试·mr·devops·代码覆盖率
silvamux_15 分钟前
MiniMax API 调用教程:兼容 OpenAI 写法
java·数据库·elasticsearch
zh731418 分钟前
sqlforge一个SQL 格式化与方言转换工具
数据库·sql
染指111019 分钟前
145.Agent-LangGraph基础概念和安装和简单代码示例
java·服务器·数据库·langchain·agents
太理摆烂哥34 分钟前
MySQL表的操作
数据库
lbb 小魔仙35 分钟前
时序数据库是什么?2026 年五款工业时序数据库横评与场景解析
数据库·时序数据库
零基础12339 分钟前
权限管理怎么做?从“资格”与“空间”双维度设计一套可落地的权限体系
java·服务器·数据库
小小龙学IT1 小时前
PostgreSQL 服务端机制与 SQL 实战深度解析:从 MVCC 到查询优化器
数据库·sql·postgresql
l1t1 小时前
DeepSeek总结的DuckDB 从 JSON 字符串到类型化列
数据库·sql·json