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;
然后再把项目中的相关密码改为修改后的密码
