docker容器忘记root密码
时间: 2024-02-24 13:52:15 浏览: 37
以下是忘记docker容器root密码的解决方法[^1]:
1. 进入容器:使用以下命令进入容器的bash终端:
```shell
docker exec -it mysql bash
```
2. 设置跳过权限表的加载:在容器中执行以下命令,将"skip-grant-tables"添加到/etc/mysql/conf.d/docker.cnf文件中:
```shell
echo "skip-grant-tables" >> /etc/mysql/conf.d/docker.cnf
```
3. 退出容器:使用以下命令退出容器的bash终端:
```shell
exit
```
4. 重启容器:使用以下命令重启容器:
```shell
docker restart mysql
```
5. 再次进入容器:使用以下命令再次进入容器的bash终端:
```shell
docker exec -it mysql bash
```
6. 登录mysql:在容器中执行以下命令,无需密码即可登录mysql:
```shell
mysql -uroot
```
7. 更新权限:在mysql中执行以下命令,刷新权限:
```shell
flush privileges;
```
8. 修改密码:在mysql中执行以下命令,将root用户的密码修改为新密码(例如:123456):
```shell
alter user 'root'@'localhost' identified by '123456';
```
9. 退出mysql:在mysql中执行以下命令退出mysql:
```shell
exit
```
请注意,这种方法会使得任何用户都能登录并进行任何操作,因此安全性较低。建议在完成密码重置后及时删除"skip-grant-tables"的配置,以提高安全性。