-
进入容器
docker exec -it {容器ID} /bin/bash
-
调整MySQL配置文件,设置跳过权限控制
## 警告:这就意味着任何用户都能登录进来,并进行任何操作,相当不安全。 echo "skip-grant-tables" >> /etc/mysql/conf.d/docker.cnf
- 退出容器
exit
-
重启容器
docker restart {容器ID}
-
再次进入容器
docker exec -it {容器ID} /bin/bash
-
登录 mysql(无需密码)
mysql -uroot
-
更新权限
flush privileges;
-
修改密码
## 这里用到的 Host值,指 user 表中的 User 字段为 root 的条目的 Host 字段的值,一般是localhost或% alter user 'root'@'{Host值}' identified by '{新的密码}'; ## 如果不执行上一步更新权限的话,在修改密码时就会报错 ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
-
退出mysql
exit
-
替换掉刚才加的跳过权限控制的语句
sed -i "s/skip-grant-tables/ /" /etc/mysql/conf.d/docker.cnf
-
退出容器
exit
-
重启容器
docker restart {容器ID}
随手记:CentOS7 下 Docker 中的 MySQL5.7 重置 root 密码
最新推荐文章于 2024-07-04 15:01:36 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)