连接服务器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;

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

相关推荐
逸模7 小时前
告别熬夜手工整理台账,逸模智能归集实现项目数据自动化存档
大数据·运维·人工智能·笔记·其他·信息可视化·自动化
sbjdhjd7 小时前
Redis 主从复制、哨兵高可用与 Cluster 集群部署实验手册
运维·前端·redis·云原生·开源·bootstrap·html
AOwhisky8 小时前
MySQL 学习笔记(第四期):SQL 语言之多表查询
linux·运维·网络·数据库·笔记·学习·mysql
Phantom Void8 小时前
服务器处理客户端请求的设计方法
linux·运维·网络
小红卒8 小时前
mysql之udf提权
数据库·mysql·网络安全
司悠8 小时前
【解决在vscode里开服务器登录codeX后发消息会一直reconnecting】
服务器·ide·vscode
倔强的石头1068 小时前
Fooocus开源神器+cpolarAI让绘画告别服务器依赖
运维·服务器·cpolar
Ajie'Blog8 小时前
Copilot Agent Tasks API 开放:AI 编程开始进入后台任务时代
服务器·前端·javascript·人工智能·copilot·ai编程
wei_shuo8 小时前
服务器挂了等用户投诉才发现?我用Beszel搭了轻量监控系统,宕机第一时间通知我
运维·服务器
王码码20358 小时前
多台服务器怎么统一看状态?Beszel 轻量监控,搭起来不费事
运维·服务器·后端·安全·阿里云·接口·web