使用Navicat连接centos8 的docker容器上的MySQL8,显示错误1045 - Access denied for user 'root'@'172.17.0.1' (using password: YES)
很迷惑啊,之前明明连接好好的,怎么突然就不能远程连接了
接着一顿操作:看看端口和防火墙状态,对端口ip进行限制,修改密码都不行,至于远程登录的开启,之前都可以连接的,怎么就不能连接了呢,但还是试着开启远程登录,还是不行,直接SQL执行出错了,SQL语句明明没问题,麻了。
怀疑数据库被别处登录了,但又在主机终端查询了一下,发现数据库的信息都还在,所以不是这问题
很烦啊,又是这种问题搞很久
无奈,又在主机终端查询了一下mysql的用户情况,发现问题了
用户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修改密码
ALTER USER '用户名'@'%'IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '新密码';
来源地址:https://blog.csdn.net/m0_47114547/article/details/124595873