启动容器时可通过-e设置密码;已运行容器可登录后用ALTER USER修改;忘记密码可跳过权限验证重置;也可挂载init.sql脚本初始化密码。

MySQL 镜像在使用 Docker 部署时,通常会设置初始密码。如果需要修改这个密码,可以通过多种方式实现,具体取决于你是否已经初始化了容器。以下是几种常见的修改 MySQL 镜像初始密码的方法。
如果你还没有运行 MySQL 容器,最简单的方式是在启动容器时通过环境变量指定 root 密码。
示例命令:
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=newpassword -d mysql:8.0
这样启动后,root 用户的密码就是 newpassword。这是最推荐的初始化方式。
如果容器已经运行且你忘记了密码,可以进入容器内部通过 SQL 命令修改 root 密码。
docker exec -it mysql-container mysql -u root -p
输入当前密码登录。如果无法登录,可参考第3种方法重置密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
如果你需要允许远程连接,还需修改对应主机的用户:
ALTER USER 'root'@'%' IDENTIFIED BY 'newpassword';
修改完成后刷新权限:
FLUSH PRIVILEGES;
当忘记 root 密码时,可以通过跳过权限验证的方式重置密码。
docker stop mysql-container
docker run --name mysql-temp --mount source=mysql-data,target=/var/lib/mysql -e MYSQL_DATABASE=mydb -d mysql:8.0 --skip-grant-tables
docker exec -it mysql-temp mysql
USE mysql;<br>UPDATE user SET authentication_string = PASSWORD('newpassword') WHERE User = 'root';<br>-- 或者使用新的加密方式:<br>ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';<br>FLUSH PRIVILEGES;你也可以通过挂载自定义的 my.cnf 或初始化脚本来自定义密码策略。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your-initial-password';
docker run --name mysql-container -v ./init.sql:/docker-entrypoint-initdb.d/init.sql -e MYSQL_ROOT_PASSWORD=oldpass -d mysql:8.0
MySQL 会在首次启动时自动执行该脚本,完成密码修改。
基本上就这些常用方法。根据你的使用场景选择合适的方式,注意备份数据,避免误操作导致服务中断。
以上就是mysql镜像配置如何修改密码_mysql镜像配置初始密码修改方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号