指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

mysql之docker容器启动之后密码不能修改问题:

我发现创建完mysql contaienr之后,我需要修改 mysql的密码,修改了docker-compose.yml中对应mysql service部分的账号密码,但是重新 docker compose up -d,发现mysql的密码还是没有改变
  
原因:
MySQL 的行为:
当 MySQL 容器启动时,如果发现挂载的卷中已经有数据,它会使用这些现有数据而不是初始化新的数据库。
  
解决办法如下:
1. 由于mysqld的相关数据是被挂载到了宿主机上,所以删除挂载就可以了,docker volume rm docker_volume-mysql-laravel, 这样做的坏处是会丢失mysql现有数据
2. 进入 mysql container ,然后修改密码 
mysql -u root -p
ALTER USER 'your_user'@'%' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;

然后再把项目中的相关密码改为修改后的密码