MySQL是一种常用的关系型数据库管理系统,它使用用户名和密码来控制用户访问权限。然而,有时候我们可能需要破解MySQL用户密码,例如在忘记密码或需要访问被丢失密码保护的数据库时。本文将介绍如何破解MySQL用户密码的方法。
原理:使系统在启动时,不加载密码文件。
1.修改mysql启动设置
Linux 操作系统中 MySQL 的配置文件是 my.cnf,一般会放在 /etc/my.cnf 或 /etc/mysql/my.cnf 目录下。
- 在 my.cnf 文件的 [mysqld] 标签下添加 skip-grant-tables
[root@mysql ~]# vim /etc/my.cnf
- 重启MySQL服务:
[root@mysql ~]# systemctl restart mysqld
2.无密码登录mysql
[root@mysql ~]# mysql -uroot
3.修改root密码并刷新授权表
mysql>UPDATE mysql.user SET authentication_string=password('123456789') where user='root' and host='localhost'; #这里将密码设置为:123456789
mysql> FLUSH PRIVILEGES; #刷新授权表
4.注释掉跳过密码
进入到 my.cnf 文件,将刚才添加的 skip-grant-tables 前面添加 # 号,保存并退出。
5.重启mysql服务
[root@mysql ~]# systemctl restart mysqld
----------------------------------------------------密码重置完成----------------------------------------------