Docker 中修改了mysql密码,但是使用ssh软件连接时仍然是原密码

49 阅读1分钟

今天在使用 doccker 修改自己的 mysql 镜像密码的时候 开始的步骤

docker exec -it mysql mysql -u root -p
# 输入密码
alter user 'root'@'localhost' identified by "newPassword"

然后在docker 中进入 mysql 的密码确实变成了我的新密码,但是在我使用 sqlAce 远程连接自己的 服务器的 mysql 的时候,却发现仍然使用的是旧密码

搜索一番之后发现:

mysql 中可能有多个主机权限 使用

SELECT User, Host FROM mysql.user WHERE User = 'root';

image.png

所以这里需要将我的所有主机权限的密码也要修改才会生效

-- 修改 localhost 的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
-- 修改 %(远程访问)的密码
ALTER USER 'root'@'%' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;

然后就可以了