- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
docker 修改mysql密码
在 Docker 中,有多种方法可以有效地修改 MySQL 密码。以下是几种常用的方法,每种方法都有其特定的使用场景和优缺点
方法 1: 使用 MySQL Shell
1.进入 MySQL 容器: 首先,你需要进入正在运行的 MySQL 容器。可以使用以下命令通过 docker exec 进入容器的命令行界面:
docker exec -it <mysql-container-name> mysql -u root -p
在这里,<mysql-container-name> 是你的 MySQL 容器名称。运行该命令后,系统会提示你输入当前的 root 密码。如果密码正确,你将进入 MySQL 的命令行界面。
2.修改密码: 一旦你进入了 MySQL shell,可以使用以下 SQL 命令来修改 root 用户的密码(请将 newpassword 替换为你希望设置的新密码):
ALTER USER 'root'@'%' IDENTIFIED BY 'newpassword';
FLUSH PRIVILEGES;
这里的 ALTER USER 命令用于更新指定用户的密码。'root'@'%' 表示所有主机上的 root 用户。如果你想要修改其他用户的密码,可以替换成相应的用户名和主机。
方法 2: 使用环境变量重新启动容器
如果你想要在创建新的 MySQL 容器时设置初始密码,可以使用环境变量:
docker run --name mymysql -e MYSQL_ROOT_PASSWORD=newpassword -d mysql:latest
在这个命令中,--name mymysql 用于指定容器名称,-e MYSQL_ROOT_PASSWORD=newpassword 用于设置 root 用户的密码为 newpassword。使用 -d 参数可以让容器在后台运行。需要注意的是,这个命令将会创建一个新的 MySQL 实例,而不是修改现有的实例。
方法 3: 使用 SQL 文件
如果你已经有一个 SQL 文件,可以在容器启动时自动执行其中的命令,从而设置或修改密码。这种方法适合批量初始化多个数据库实例或执行复杂的初始化逻辑。
1.创建一个 SQL 文件(例如 init.sql)并添加以下内容:
ALTER USER 'root'@'%' IDENTIFIED BY 'newpassword';
FLUSH PRIVILEGES;
2.启动 MySQL 容器并挂载该文件:
docker run --name mymysql -v /path/on/host/init.sql:/docker-entrypoint-initdb.d/init.sql -e MYSQL_ROOT_PASSWORD=oldpassword -d mysql:latest
这将在容器启动时执行 init.sql 中的命令。
在这个命令中,-v /path/on/host/init.sql:/docker-entrypoint-initdb.d/init.sql 表示将本地的 init.sql 文件挂载到容器内的指定路径。这样,在容器启动时,MySQL 会自动执行 init.sql 文件中的命令,完成密码的修改。
售前咨询
售后咨询
备案咨询
二维码
TOP