Mysql:低版本的mysql,5.7-,不知道root密码,如何控制(增、删、改、查)mysql.user:变相跳过mysql的用户认证

发布时间 2023-05-25 13:51:39作者: jinzhenshui

可以通过直接在mysqld的服务器上,通过os层的文件操作+为mysqld进程发送sighup(-1)信号实现。

原理:

  低版本的mysql,5.7-,其用户账号是通过mysql系统库下的user系统表来控制的;

  而,mysql.user表是myisam引擎表;

  所以,我们只要将user.frm\user.MYD\user.MYI这3个相关数据表文件,在os层面copy到任何一个又权限访问的用户库下——无论是本机或异机;

  然后,去正常的“增、删、改、查” 这个普通的临时的user表。比如将其中的用户密码修改为空或null

  再然后,将修改后的user表相关文件覆盖到要破解或处理的原始user表上;

  最后,通过kill -1 或 kill sighup 发送sighup信号给mysqld服务器进程,重新加载授权相关的表文件即可。

 

具体操作:

注意事项:

  勤做备份

  先做测试

 

祝你happy!