连接服务器Mysql出现“Host ‘xxx‘ is not allowed to connect to this MySQL server“解决方法

远程连接提示:Host 'xxx' is not allowed to connect to this MySQL server。是mysql未开启mysql远程访问权限导致。

登录mysql,发现出现了 Access denied for user 'root' T'localhost (using password: YES)

此时先找到my.cnf文件,使用命令mysql --help | grep 'my.cnf'查看mysql加载配置文件的顺序,发现

此时看到etc目录下有my.cnf文件。

使用命令:

复制代码
vim my.cnf

skip-grant-tables #在[mysqld]下面添加这一行,忽略权限表

然后重启下服务:service mysql restart

然后登录mysql,这时候不需要输入密码,直接回车进入。

然后选择数据库use mysql;

输入select user,host from user;

发现没有root用户,此时选择创建root账号

create user 'root'@'localhost' identified by '123456';

然后发现创建失败,选择使用flush privileges;

如果还是失败,则选择先删除root

drop user 'root'@'localhost';

然后flush privileges;

再重新创建一次

create user 'root'@'localhost' identified by '123456';

此时创建成功之后,

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; #赋予所有库所有表操作权限

然后flush privileges;

完成root的修改。

但是此时使用外部连接工具连接服务器的数据库时,还是连接不了,

此时需要修改host字段的值,将localhost修改成需要远程连接数据库的ip地址。或者直接修改成%。修改成%表示,所有主机都可以通过root用户访问数据库。为了方便,我直接修改成%。命令:

mysql> update user set host = '%' where user = 'root';

然后flush privileges;

完成配置,再使用工具连接,发现能够成功连接。

相关推荐
郝学胜-神的一滴1 分钟前
深入解析C/S模型下的TCP通信流程:从握手到挥手的技术之旅
linux·服务器·c语言·网络·网络协议·tcp/ip
OJAC1117 分钟前
当所有人都在说“运维稳了”,近屿智能看到了另一种可能
运维
chian-ocean8 分钟前
CANN 生态进阶:利用 `profiling-tools` 优化模型性能
数据库·mysql
“αβ”10 分钟前
数据链路层协议 -- 以太网协议与ARP协议
服务器·网络·网络协议·以太网·数据链路层·arp·mac地址
人鱼传说21 分钟前
docker desktop是一个好东西
运维·docker·容器
Thera7771 小时前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
阿梦Anmory1 小时前
Ubuntu配置代理最详细教程
linux·运维·ubuntu
呉師傅1 小时前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
heartbeat..1 小时前
JVM 性能调优流程实战:从开发规范到生产应急排查
java·运维·jvm·性能优化·设计规范
那个村的李富贵2 小时前
解锁CANN仓库核心能力:50行代码搭建国产化AIGC图片风格迁移神器
mysql·信息可视化·aigc·cann