在工作中,如果我们忘记了数据库的密码,那么我们该怎么办?其实方法很多,下面我们主要说一下如何修改宿主机上的MySQL以及Docker容器中的MySQL。
1. Docker容器中的MySQL
-
启动MySQL的容器
-
通过docker命令进入到容器中
docker exec -it container_id /bin/bash
-
找到docker.cnf配置文件,大概在
/etc/mysql/conf.d/
目录下 -
打开docker.cnf文件,在最后一行后添加
skip-grant-tables
跳过用户权限验证 -
退出docker容器,然后重启容器
docker restart container_id
-
再次进入到容器中,执行如下命令:
1
2
3
4
5
6
7
8
9
10
111. 进入mysql控制台
mysql
2. 进入mysql数据库
use mysql;
3. 修改root用户密码
MySQL5.7+:
update user set authentication_string=password('newpwd') where user='root';
MySQL5.6-:
update user set password=password('newpwd') where user='root';
4. 刷新权限
flush privileges; -
将docker.cnf中添加的那一行
skip-grant-tables
删除,退出docker容器,然后重启容器,搞定
2. 宿主机中的MySQL
- 找到my.ini配置文件,并在[mysqld]组下加入
skip-grant-tables
跳过用户权限验证 - 修改密码,同上步骤6
- 将my.ini文件中添加的那一行删除,重启MySQL服务
service mysqld restart
,搞定