Loading

MySQL 密码恢复(基于 Docker 部署)

背景

遇到一个因为其他同事修改配置导致密码忘记的 Case,导致忘记了原始密码,可以使用一个中间容器来恢复密码,虽然是容器操作,但是非容器部署也同理实际上

解决办法

假定需要恢复的 mysql 数据库容器为 db

# 1. 停止服务
docker compose stop db
# 2. 使用相同镜像启动密码恢复容器
docker run --rm -d --name db-recovery \
  -v scow_db_data:/var/lib/mysql \
  mysql:8 --skip-grant-tables --skip-networking
sleep 5
# 3. 恢复密码为 123456
docker exec -it db-recovery mysql -uroot -e "
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
"
# 4. 删除密码恢复容器
docker rm -f db-recovery
# 5. 重启服务,使用新密码登陆即可
docker compose up -d db
posted @ 2026-07-01 10:52  codesucks  阅读(25)  评论(0)    收藏  举报