解决服务器连接错误Host ‘XXX’ is not allowed to connect to this MySQL server
解决服务器连接错误Host ‘XXX’ is not allowed to connect to this MySQL server
在“配置登陆信息和数据库(mysql)”连接中,出现“服务器连接错误Host 'XXX' is not allowed to connect to this MySQL server”的错误。
像这种错误,就是典型的远程权限问题。
问题症结是MySQL 没有开放远程登录的权限。这时要看你的服务器到底用的那种系统,Linux或者是Windows,这个解决办法不同。解决的办法就是开启 MySQL 的远程登陆帐号。
解决方案:
第一步:确定服务器上的防火墙没有阻止 3306 端口。
MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 3306 端口连接到 MySQL 的。
如果您在安装 MySQL 时指定了其他端口,请在防火墙中开启您指定的 MySQL 使用的端口号。
如果不知道怎样设置您的服务器上的防火墙,请向您的服务器管理员咨询。
第二步:增加允许远程连接 MySQL 用户并授权。
(1).登陆mysql
(2).创建远程登陆用户并授权,在要链接的服务器上操作
mysql> grant all PRIVILEGES on db_name.* to 'username'@'xxx.xxx.xx.x' identified by 'password' WITH GRANT OPTION;
上面的语句表示将数据库 db_name 的所有权限授权给 username 这个用户,允许 username 用户在 xxx.xxx.xx.x 这个 IP 进行远程登陆,并设置 username 用户的密码为 password。
参数分析:
all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。
db_name.* 表示上面的权限是针对于哪个表的,db_name指的是数据库名称,后面的 * 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。
username表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。
xxx.xxx.xx.x 表示允许远程连接的 IP 地址,你的IP,如果想不限制链接的 IP 则设置为“%”即可。
password 为用户username的密码。
最后执行了上面的语句后,一般都会立即生效,返回值如下:
Query OK, 0 rows affected (0.01 sec)
如果没有上面的语句那么请执行下面的命令,即可立即生效。
Mysql> flush privileges
上面(2)当中的授权语句,在Mysql的图形界面sql,可以写成这样:
你想root使用123456从任何主机连接到mysql服务器的话,代码如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
如果你想允许用户root从ip为192.168.1.3的主机连接到mysql服务器,并使用123456作为密码,代码如下:
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.3′ IDENTIFIED BY ’123456′ WITH GRANT OPTION;
上面(2)当中的授权还可以采用改表法:
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南