目录
场景:容器化部署mysql,没有映射my.cnf文件,还忘记密码,怎么修改?
1、部署docker容器mysql
docker run -d --name 001 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.30
【默认设置密码是123456】
2、修改密码文件
修改文件/etc/mysql/conf.d/docker.cnf而不是my.cnf
docker exec -it 001 bash
cat /etc/mysql/conf.d/docker.cnf
echo "skip-grant-tables" >> /etc/mysql/conf.d/docker.cnf
【将skip-grant-tables添加到/etc/mysql/conf.d/docker.cnf中】
3、重启MySQL容器进入MySQL
mysql -uroot -p
【直接绕过密码,直接登录到MySQL】
4、修改密码
update user set authentication_string=password('11111111') where user="root";
flush privileges;
5、重启mysql容器测试
docker restart 001
docker exec -it 001 bash
mysql -uroot -p'11111111'