需要重启数据库服务
此种方法适合破解线下数据库服务器管理员root密码
1 修改主配置文件并重启数据库服务
2 无密码登录 并修改登录密码 断开连接
3 去掉对主配置文件的修改并重启数据库服务
4 使用破解后的密码登录
修改主配置文件并重启数据库服务
[root@host50 ~]
[mysqld]
skip-grant-tables
:wq
[root@host50 ~]
无密码登录 并修改登录密码 断开连接
[root@host50 ~]
Mysql> desc mysql.user; 查看存放密码的表头名
查看数据库管理员root本机登录密码(密码是加密保存的)
mysql> select user , host , authentication_string from mysql.user
where user=”root” and host=”localhost”;
用户名 主机名 密码
+-----------+-----------+-------------------------------------------+
| user | host | authentication_string |
+-----------+-----------+-------------------------------------------+
| root | localhost | *F19C699342FA5C91EBCF8E0182FB71470EB2AF30 |
+-----------+-----------+-------------------------------------------+
2 rows in set (0.00 sec)
密码是使用mysql服务自带的password()命令加密的
mysql> select password("123456"); 把明文123456 加密
+-------------------------------------------+
| password("123456") |
+-------------------------------------------+
| *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-------------------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql>
mysql> update mysql.user set authentication_string=password("123qqqq...A")
where user="root" and host="localhost";
mysql> flush privileges;
mysql> exit; 断开连接
去掉对主配置文件的修改并重启数据库服务
[root@host50 ~]
[mysqld]
validate_password_policy=0
validate_password_length=6
:wq
[root@host50 ~]
使用恢复的密码登陆
[root@host50 ~]
mysql>