解决Linux系统中MySQL数据库忘记密码的问题
1、关闭mysql服务
systemctl stop mysqld
2、mysql的配置文件在/etc/my.cnf文件中,编辑这个文件,在这个文件里面加上skip-grant-tables这行配置,保存文件并退出
skip-grant-tables
3、重新启动mysql服务
systemctl start mysqld
4、通过命令行进入mysql客户端(通过上面的操作后,当前情况是可以直接跳过密码认证与mysql服务器建立连接)
mysql -u root
5、进入到mysql这个库中
use mysql;
6、设置账号的密码为空
update user set authentication_string='' where user='root';
7、刷新权限
flush privileges;
8、退出mysql客户端
exit;
9、再关闭mysql服务
systemctl stop mysqld
10、重新修改刚刚mysql的配置文件,在/etc/my.cnf文件中,把刚刚添加的skip-grant-tables这行配置注释或者删除,保存文件并退出
11、再启动mysql服务
systemctl start mysqld
12、再次进入mysql客户端(刚刚把密码设置为空,所以不用输入密码)
mysql -u root
13、设置新的登录密码(密码不能过于简单,需要包含大、小写字母、数字、字符)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新的密码';
14、刷新权限
flush privileges;
15、退出mysql客户端
exit;
16、再使用新的密码登录mysql客户端
mysql -u root -p 新的密码
17、登录成功!