MySQL8:1045 - Access denied for user ‘root‘@‘172.17.0.1‘ (using password: YES)



使用Navicat连接centos8 的docker容器上的MySQL8,显示错误1045 - Access denied for user 'root'@'172.17.0.1' (using password: YES)
很迷惑啊,之前明明连接好好的,怎么突然就不能远程连接了

接着一顿操作:看看端口和防火墙状态,对端口ip进行限制,修改密码都不行,至于远程登录的开启,之前都可以连接的,怎么就不能连接了呢,但还是试着开启远程登录,还是不行,直接SQL执行出错了,SQL语句明明没问题,麻了。

怀疑数据库被别处登录了,但又在主机终端查询了一下,发现数据库的信息都还在,所以不是这问题

很烦啊,又是这种问题搞很久

无奈,又在主机终端查询了一下mysql的用户情况,发现问题了

MySQL8:1045 - Access denied for user ‘root‘@‘172.17.0.1‘ (using password: YES)_第1张图片
用户root的host不知怎么的被修改为localhost了,把localhost改为%(%表示对所有ipv4地址都生效)


行动!!

(1)进入mysql数据库,注意这里不是MySQL,是MySQL中的一个数据库,叫mysql

use mysql

(2)将localhost修改为%

update user set Host='%' where User='root';

(3)刷新权限

flush privileges;

(4)Navicat测试连接

MySQL8:1045 - Access denied for user ‘root‘@‘172.17.0.1‘ (using password: YES)_第2张图片

欧了~

附:MySQL8修改密码

ALTER USER '用户名'@'%'IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '新密码';

你可能感兴趣的:(Bug,笔记,mysql,centos)