MySQL作为目前互联网最广泛的数据库,很多人每天都在用,有没有遇到MySQL root密码忘了怎么办?
![222abf69218b2cda0f28698ef8684dc4.png](https://img-blog.csdnimg.cn/img_convert/222abf69218b2cda0f28698ef8684dc4.png)
下面我们就探讨一下怎么处理,有人说,忘了重装呗
![5bfe6fe7dede0b28fa1da51a6beefbd0.png](https://img-blog.csdnimg.cn/img_convert/5bfe6fe7dede0b28fa1da51a6beefbd0.png)
,呵呵,确实重装可以解决问题,但这是小白们的方法,下策,太麻烦!
言归正传,方法一:
首先说linux平台,
1. 登录你的数据库服务器,停服,如service mysqld stop
2. 建一个文件 ,如 vim change.txt ,写入内容 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
3. 启动MySQL ,mysqld --init-file=/data/change.txt &
4. mysql -uroot -p
输入新的密码,可以登陆了。
windows平台和类linux平台差不多,就不介绍了。
![adb28367048fe1b2a173066eb34d0c4f.png](https://img-blog.csdnimg.cn/img_convert/adb28367048fe1b2a173066eb34d0c4f.png)
方法二
方法一在不同的平台,操作还是略有不同,我们说的第二种方法,是基于命令行的方法,不同的平台就是完全一样了,还是以liunx为例:
1.登录你的数据库服务器,停服,如service mysqld stop
2. 启动MySQL, mysqld --skip-grant-tables ,这时是跳过用户认证的,任何用户都可以连接,并且有所有的权限,并且禁用了用户管理,如修改密码 、修改用户之类的操作
这时 alter user root identified by '222222'; 是禁止的,所以要先执行 FLUSH PRIVILEGES, 告诉服务器重新加载grant表,这样帐户管理语句就可以工作了。
3. 修改密码,ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
4. 重新启动MySQL,去掉--skip-grant-tables ,这时就可以用新的密码来登录了。