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
本人文章禁止转载,博客地址:https://www.cnblogs.com/lijiext

浙公网安备 33010602011771号