Docker下Mysql8.0忘记密码后找回

利用 skip-grant-tables修改密码
1.拷贝my.cnf文件

docker cp 容器Id:/ect/my.cnf my.cnf

2修改my.cnf,在配置文件中加入skip-grant-tables

3.将修改后的my.cnf拷贝回去

docker cp my.cnf 容器Id:/ect/my.cnf 

4.重启mysql容器

docker restart 容器Id

5.进入mysql容器

docker exec -it 容器id /bin/bash

6.无密码进入mysql

mysql -uroot -p

7.查看账号信息并修改密码

USE mysql;
SELECT user, host FROM user;

若存在'root'@'%'直接修改密码

ALTER USER 'root'@'%' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;

若不存在则添加用户并授权

create USER 'root'@'%' IDENTIFIED BY 'new_password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

8.将my.cnf文件复原并重启容器

posted @ 2025-06-24 14:26  是卡卡罗特啊  阅读(62)  评论(0)    收藏  举报