引言
当你在尝试连接MariaDB数据库时遇到"Host 'xxx' is not allowed to connect to this MariaDB server"错误,这通常意味着数据库用户权限配置限制了远程或特定主机的连接。本文针对这一常见但令人困扰的数据库连接问题,提供了一套完整、可操作的解决方案。无论你是刚接触数据库的开发者,还是需要快速解决生产环境连接问题的运维人员,都能通过本文的步骤指导,快速定位问题根源并修复权限配置。我们将重点介绍如何使用phpMyAdmin图形化工具修改global_priv表中的用户主机权限,让你在10分钟内彻底解决这个连接障碍,恢复正常的数据库访问。
解决办法:
0. 使用命令行验证连接与权限
在开始使用图形化工具之前,建议先通过命令行验证连接并确认当前的权限设置。这有助于明确问题根源。
-
尝试连接 :在客户端机器上,使用
mysql命令行工具尝试连接目标 MariaDB 服务器。bashmysql -h 服务器IP地址 -u root -p如果连接失败并出现
Host '...' is not allowed to connect错误,则确认是主机权限问题。 -
查看当前权限 (需在能成功连接的另一台机器或服务器本地执行):登录后,运行以下 SQL 命令查看
root用户的当前主机(Host)设置。sqlSELECT user, host FROM mysql.user WHERE user='root';这条命令会列出所有
root用户及其对应的允许连接的主机。如果结果中host列不包含你的客户端 IP 或%(代表任意主机),则说明当前权限配置限制了你的连接。
完成此诊断步骤后,你将明确是否需要修改 root 用户的 Host 字段。接下来的步骤将指导你如何使用 phpMyAdmin 进行修改。
1.安装 phpmyadmin

使用root用户名称密码登录数据库(phpmyadmin)

2.找到mysql库global_priv表

3.sql修改 global_priv中的root用户的Host
3.1.运行修改语句
UPDATE mysql.global_priv SET Host='%' WHERE User='root';
3.2.重新加载权限表
flush privileges;
