MySQL 服务器拒绝主机连接请求null, message from server: “Host ‘xxxx‘ is not allowed to connect to this MySQL ser
问题截图:
这种错误是由于以下原因之一引起的:
(一) MySQL 用户权限问题:
使用的 MySQL 用户没有权限从主机连接到 MySQL 服务器
解决方法:
为用户授予主机连接的权限,找到mysql安装目录下的bin,通过cmd进入,执行下面命名
# 进入服务器
mysql -u root -p;# 切换到 mysql用户
use mysql;# 查询目前的用户权限
select user,host from user;# 先把权限还原(只允许本机(localhost, 127.0.0.1)来连接访问)
update user set host='localhost' where host='%';# 设置指定IP访问mysql数据库 IP这里可以使用%来表示所有。
GRANT ALL PRIVILEGES ON *.* TO '账号'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;# 执行刷新权限生效
flush privileges;# 查询IP权限
show grants for root@'IP';
或者直接从mysql数据库中进行修改
找到mysql库下user表,将host修改为%就可以了
(二)MySQL 绑定地址限制
MySQL 服务器可能配置为只监听本地连接(127.0.0.1
或 localhost
),而没有监听外部网络的连接请求。
检查 MySQL 配置文件(通常是 my.cnf
或 my.ini
)中的 bind-address
设置。
解决方法:
打开 MySQL 配置文件(路径因操作系统而异):
- Linux:
/etc/mysql/my.cnf
或/etc/my.cnf
- Windows:
C:\ProgramData\MySQL\MySQL Server X.X\my.ini
找到 bind-address
配置项,将其改为:
bind-address = 0.0.0.0
重启 MySQL 服务以应用更改
- 任务管理器--服务--mysql--右键重启
(三)防火墙或网络问题
防火墙可能阻止了从主机到 MySQL 服务器的连接
确保 MySQL 服务器的端口(默认是 3306
)在防火墙中是开放的
解决方法:
上一篇: 几秒钟就充满电!科学
下一篇: 暂无数据