当前位置: 首页 > news >正文

Host ‘db01‘ is not allowed to connect to this MariaDB server 怎么解决?

出现错误 ERROR 1130 (HY000): Host 'db01' is not allowed to connect to this MariaDB server,表示当前用户 test 没有足够的权限从主机 db01 连接到 MariaDB 服务器。以下是逐步解决方案:


1. 检查用户权限

登录 MariaDB 服务器(需本地或通过其他有权客户端),执行以下命令查看用户权限:

SELECT user, host FROM mysql.user WHERE user = 'test';
  • 如果 host 列显示为 localhost 或具体 IP(非 db01 的 IP),说明用户 test 未被授权从 db01 连接。

2. 授予远程访问权限

根据需求选择以下任意一种方式:

方案 1:允许从任意主机连接(推荐用于测试环境)
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  • '%' 表示允许所有主机(包括 db01)连接。
  • 替换 123456 为实际密码。
方案 2:仅允许从特定主机(如 db01)连接

假设 db01 的 IP 是 172.16.3.51,则执行:

GRANT ALL PRIVILEGES ON *.* TO 'test'@'172.16.3.51' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  • 若需允许 172.16.3.0/24 网段的所有 IP,可使用 '172.16.3.%'

3. 处理可能的冲突

如果执行 GRANT 时提示 ERROR 1062 (23000): Duplicate entry(如已存在 'test'@'%' 或类似记录),需先删除冲突记录:

DELETE FROM mysql.user WHERE user = 'test' AND host = '%'; -- 示例
FLUSH PRIVILEGES;

再重新执行 GRANT 命令。


4. 验证防火墙设置

确保 MariaDB 服务器的 3306 端口db01 的 IP 开放:

  • Linux 防火墙:检查 firewalldiptables 规则。
    firewall-cmd --permanent --add-source=172.16.3.51 --zone=public
    firewall-cmd --reload
    
  • 云服务器:检查安全组是否放行 3306 端口(入方向)。

5. 重启 MariaDB 服务

部分情况下需重启服务以应用配置:

sudo systemctl restart mariadb

最终验证

db01 上重新执行连接命令:

mysql -utest -p123456 -h172.16.3.51

若成功连接,问题解决。


补充说明

  • 安全性建议:生产环境中避免使用 '%',改为限定具体 IP 或网段。
  • 密码复杂度:建议将简单密码(如 123456)改为复杂密码,避免安全风险。

参考来源:MySQL 官方文档、搜索结果中多个权限配置案例[1][2][3][4][5]。

http://www.xdnf.cn/news/1069489.html

相关文章:

  • 原子级制造革命:双原子镧催化剂登顶Angew,焦耳超快加热技术深度解析
  • 卷积神经网络(Convolutional Neural Network, CNN)
  • 论文阅读:A Survey on Large Language Models for Code Generation
  • 量学云讲堂王岩江宇龙2025年第58期视频 主课正课系统课+收评
  • 八股文——JAVA基础:说一下C++与java的区别
  • 【笔记】Docker 配置阿里云镜像加速(公共地址即开即用,无需手动创建实例)
  • 使用pyflink编写demo并将任务提交到yarn集群
  • python的智慧养老院管理系统
  • 20250625解决在Ubuntu20.04.6LTS下编译RK3588的Android14出现cfg80211.ko的overriding问题
  • GBDT:梯度提升决策树——集成学习中的预测利器
  • 自动化测试--Appium和ADB及常用指令
  • python学习笔记(深度学习)
  • 深入浅出:RocketMQ与Kafka的双剑合璧,实现高可用与高吞吐
  • Fisco Bcos学习 - 搭建第一个区块链网络
  • 《从0到1:C/C++音视频开发自学完全指南》
  • 达梦数据库安装
  • 没有VISA怎么注册AWS?
  • WinAppDriver 自动化测试:Python篇
  • 【基础篇-消息队列】——如何通过网络传输结构化的数据( 序列化与反序列化)
  • MySQL之存储过程详解
  • 《汇编语言:基于X86处理器》第4章 复习题和练习,编程练习
  • 定位坐标系深度研究报告
  • 【Docker基础】Docker容器管理:docker pause、stop、kill区别
  • Wpf的Binding
  • Linux size命令详解
  • Docker安装Arroyo流处理引擎
  • 【C++】std::function是什么
  • 基于STM32的个人健康助手的设计
  • ARM内核之CMSIS
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | BackgroundSlider(背景滑块)