在Docker容器中修改MySQL密码的方法步骤
作者:码上有潜
这篇文章主要介绍了三种在Docker容器中修改MySQL密码的方法:通过命令行工具修改、使用环境变量重置密码及Docker Compose配置,同时提醒操作前需备份数据以避免丢失,需要的朋友可以参考下
如果MySQL运行在Docker容器中,修改MySQL密码的方法稍有不同。以下是如何在Docker中修改MySQL密码的步骤:
方法1:使用MySQL命令行工具
1. 找到MySQL容器的ID或者名字:
docker ps
2. 进入MySQL容器:
docker exec -it <container_id_or_name> bash
<container_id_or_name> 替换为你自己的容器id
3. 登录MySQL:
mysql -u root -p
4. 输入当前的root密码:
图中我是放一起执行的,密码输入部分默认是不显示的,并且要注意 'root'@'localhost' 是表示只允许在本机即本地服务器上登录访问,如果要在客户端可以登录数据库,需要创建新的mysql用户,新的授权才行,下一章会讲。
5. 修改密码(MySQL 5.7及以上版本):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
6. 刷新权限:
FLUSH PRIVILEGES;
7. 退出MySQL:
exit
8. 退出容器:
exit
9. 重启容器(可选)
docker restart <container_id_or_name>
<container_id_or_name> 替换为你自己的容器id
方法2:使用环境变量重置root密码
如果在创建Docker容器时未指定root密码,您可以通过环境变量来重置root密码:
停止当前MySQL容器:
docker stop <container_id_or_name>
<container_id_or_name> 替换为你自己的容器id
重新启动MySQL容器并设置新密码:
docker run --name <container_name> -e MYSQL_ROOT_PASSWORD=new_password -d mysql:latest
请注意,使用这种方法会重新创建容器并可能导致数据丢失,建议在操作前备份数据。
方法3:通过Docker Compose修改密码
如果您使用Docker Compose管理MySQL容器,可以直接在docker-compose.yml
文件中修改环境变量:
编辑docker-compose.yml
文件,将MYSQL_ROOT_PASSWORD
修改为新密码:
version: '3.1' services: db: image: mysql:latest restart: always environment: MYSQL_ROOT_PASSWORD: new_password
重新启动Docker Compose服务:
docker-compose down docker-compose up -d
到此这篇关于在Docker容器中修改MySQL密码的方法步骤的文章就介绍到这了,更多相关Docker修改MySQL密码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!