使用数据库连接工具远程连接MySQL登录时出现Access denied for user ‘root‘@‘xxx.xxx.xxx.xxx‘ (using password: YES)

在自己的腾讯云服务器上使用docker安装了mysql后,在电脑上使用navicat连接数据库发现一直报错Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) ,查了资料后知道是root账号没有其他ip连接的权限,只有localhost能连接,(说实话,很多资料都不知道到底是什么问题,说了一大堆,其实一点用都没有),mysql创建后,在数据库里面有一个mysql的库,mysql下有一张user表,就是这张表在控制数据库的连接查询权限,去修改这张表的账号的权限,然后刷新权限就行了!记得一定要刷新权限!

首先你先在服务器上使用root通过localhost登录上去,就是使用命令行登录,因为root最开始是只有localhost权限,所以只能本地能登录上,登录上去后,切换到mysql库,查询user表

 上图所示,root只有localhost能登录上去,使用update语句将root的host字段修改为%,%就是代表所有的ip都能连接

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

 修改后一定要刷新权限 ---->   flush privileges;

 然后使用navicat连接,显示成功

下面展示一下使用navicat连接后,查看user表

  这张表后面的都是查询权限,具体的大家自行了解。连接不上就是因为host是localhost,只能本地连接,你的电脑远程连接不行,改为%表示所有的ip都能连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值