运维故障之MySQL 连接授权错误

你现在遇到的是 MySQL 连接授权错误 (注意:报错信息明确是 MySQL server,并非 DB2 或 OpenGauss,大概率是服务标识或连接配置混淆了),同时你之前需要的 OpenGauss 主从复制方案已完整提供,下面先针对性解决这个数据库连接报错问题。

一、错误核心解析

报错 Error 1130: Host '172.16.3.11' is not allowed to connect to this MySQL server 的含义是:
MySQL 服务器的用户授权列表中,没有允许 172.16.3.11 这个客户端 IP 连接目标 MySQL 服务器(172.16.3.52),MySQL 出于安全策略拒绝了该连接请求。

简单说:MySQL 的用户是「用户名@访问主机 」的组合(例如 root@localhost 仅允许本地连接,root@172.16.3.11 仅允许 172.16.3.11 连接),你的客户端 IP 172.16.3.11 未被对应数据库用户授权。

二、解决方案(分步操作)

步骤 1:登录 MySQL 服务器(172.16.3.52)

需要在 MySQL 服务器本机(或已授权的其他主机)登录 MySQL 终端,推荐直接在 172.16.3.52 上操作:

bash 复制代码
# 1. 登录 MySQL(使用 root 或具有授权权限的用户)
mysql -u root -p

# 2. 输入 MySQL 根密码,回车进入 MySQL 命令行(提示符变为 mysql>)
步骤 2:授权客户端 IP(172.16.3.11)连接 MySQL

有两种授权方式,按需选择:

方式 1:精准授权(仅允许 172.16.3.11 连接,推荐生产环境)

假设你要使用的数据库用户是 root,授权其从 172.16.3.11 连接,并拥有所有数据库权限(可根据需求限制数据库和权限):

sql 复制代码
-- 语法:GRANT 权限列表 ON 数据库.表 TO '用户名'@'客户端IP' IDENTIFIED BY '用户密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.3.11' IDENTIFIED BY '你的MySQL用户密码';

-- 若无需重新设置密码(已有密码),可省略 IDENTIFIED BY 部分:
-- GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.3.11';
方式 2:模糊授权(允许任意 IP 连接,仅测试/内网环境使用)

若需要该用户从任意 IP 连接,可用 % 通配符替代客户端 IP(安全性较低,不推荐生产环境):

sql 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的MySQL用户密码';
步骤 3:刷新权限使配置生效

授权后必须执行刷新命令,MySQL 才会加载新的授权规则:

sql 复制代码
FLUSH PRIVILEGES;
步骤 4:验证授权结果(可选)

查看 MySQL 中的用户授权列表,确认授权是否成功:

sql 复制代码
-- 查看所有用户的授权信息
SELECT user, host FROM mysql.user;

-- 筛选目标用户(如 root)的授权信息
SELECT user, host FROM mysql.user WHERE user = 'root';

若结果中出现 root@172.16.3.11(方式 1)或 root@%(方式 2),说明授权成功。

步骤 5:退出 MySQL 并重新测试连接
sql 复制代码
-- 退出 MySQL 命令行
exit;

从 172.16.3.11 主机重新尝试连接 MySQL 服务器(172.16.3.52),此时应能正常连接,不再报 1130 错误。

三、补充说明(避坑点)

  1. 权限细化 :生产环境不建议授予 ALL PRIVILEGES(全部权限),可根据业务需求限制为 SELECT, INSERT, UPDATE 等必要权限,同时限制指定数据库(如 testdb.* 仅允许操作 testdb 数据库)。
  2. 防火墙/端口:确保 MySQL 服务器(172.16.3.52)的防火墙开放了 3306 端口(MySQL 默认端口),否则即使授权成功,也会因网络不通导致连接失败。
  3. 混淆澄清 :你的报错信息是 MySQL server,但描述中提到了 db2,需确认目标数据库实际类型:
  • 若确实是 DB2:1130 并非 DB2 标准错误码,大概率是连接工具配置错误(将 MySQL 配置为 DB2 连接)。
  • 若需要 OpenGauss/DB2 连接授权方案,可补充说明具体场景。

四、回顾:OpenGauss 主从复制方案

此前已为你提供完整的《OpenGauss 主从复制实现方案:原理、部署与运维》,涵盖核心原理、环境准备、分步配置、验证测试和常见故障处理,若你需要补充同步复制模式配置自动故障切换等进阶内容,可随时告知。

总结

  1. 本次 1130 错误是 MySQL 授权问题,核心是客户端 IP 未被纳入允许列表。
  2. 解决核心步骤:登录 MySQL 服务器 → 执行 GRANT 授权 → FLUSH PRIVILEGES 刷新 → 重新测试连接。
  3. 生产环境优先选择精准授权,同时细化权限和开放必要端口,保障安全性。
相关推荐
一点一木14 小时前
🚀 2026 年 4 月 GitHub 十大热门项目排行榜 🔥
人工智能·github
淡海水15 小时前
【AI模型】常见问题与解决方案
人工智能·深度学习·机器学习
HIT_Weston15 小时前
65、【Agent】【OpenCode】用户对话提示词(费米估算)
人工智能·agent·opencode
njsgcs15 小时前
我的知识是以图片保存的,我的任务状态可能也与图片有关,我把100张知识图片丢给vlm实时分析吗
人工智能
xingfujie15 小时前
运维实战攻略
运维
道清茗16 小时前
【RH294知识点汇总】第 9 章 《 自动执行 Linux 管理任务 》常见问题
linux·运维·服务器
星爷AG I16 小时前
20-4 长时工作记忆(AGI基础理论)
人工智能·agi
#卢松松#16 小时前
用秒悟(meoo)制作了一个GEO查询小工具。
人工智能·创业创新
zandy101116 小时前
Agentic BI 架构实战:当AI Agent接管数据建模、指标计算与可视化全链路
人工智能·架构
数字供应链安全产品选型16 小时前
关键领域清单+SBOM:834号令下软件供应链的“精准治理“逻辑与技术落地路径
人工智能·安全