You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不删除Docker Volume的情况下更新MariaDB密码?

无需删除Docker Volume更新MariaDB密码的方法

直接修改docker-compose.yml中的MYSQL_ROOT_PASSWORD不会生效——因为MariaDB容器首次启动后,会检测到数据目录已存在,自动跳过初始化流程。要保留数据卷更新密码,需按以下步骤操作:

步骤1:进入运行中的MariaDB容器

先通过docker ps找到MariaDB容器的名称或ID,执行命令进入容器的MySQL命令行:

docker exec -it [容器名/ID] mysql -uroot -p

输入当前的root密码(比如你配置里的root),进入MySQL交互界面。

步骤2:在数据库内部修改root密码

根据你的MariaDB版本选择对应命令:

  • MariaDB 10.4及以上:
ALTER USER 'root'@'%' IDENTIFIED BY '你的新密码';
  • MariaDB 10.3及以下:
SET PASSWORD FOR 'root'@'%' = PASSWORD('你的新密码');

执行完密码修改后,刷新权限:

FLUSH PRIVILEGES;

输入exit;退出MySQL命令行,再输入exit退出容器。

步骤3:更新docker-compose配置

打开docker-compose.yml,将mariadb服务下的MYSQL_ROOT_PASSWORD值改为你刚设置的新密码。

步骤4:重启MariaDB容器

执行命令重启容器,让新配置生效:

docker-compose up -d --force-recreate mariadb

注意事项

  • 必须先修改数据库内部密码,再更新docker-compose配置,否则容器重启后环境变量与数据库实际密码不一致会导致连接失败。
  • 同步更新所有依赖该MariaDB服务的应用配置(比如你的PHP项目、若phpMyAdmin有密码配置也需同步修改)。

内容的提问来源于stack exchange,提问作者LuR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 07:35:12