zoukankan      html  css  js  c++  java
  • MySQL密码破解。

      与其说是mysql密码破解倒不如说是mysql密码重置更准确,因为大多数情况下我们只是忘了登录的密码,如果是普通用户还可以让管理员重新设置一下密码或者重新分配一个用户,但是这里我们不考虑普通用户,如果是管理员密码忘了怎么办?找回是不可能了,虽然mysql中user表中记录了每个用户的信息,但是普通用户一般也没有权限操作,而且其中密码是通过单向加密生成。所以对于管理员密码遗忘,最简单的方法就是重置了。

      这里分两种情况分析linux下和windows下

    linux操作系统下:

    mysql版本5.5

    1.修改MySQL配置文件

    vim /etc/my.cnf

    找到和mysql服务器配置相关部分[mysqld],在最后加上skip-grant-tables,如下所示

    socket = /tmp/mysql.sock

    myisam_sort_buffer_size = 8M

    skip-grant-tables   //设置mysql服务器启动跳过权限表

    保存并退出

    2.重新启动mysql服务器

    ./usr/local/mysql/bin/mysqld_safe

    注意这个时候mysql中的权限表已经失去作用了,为防止来自外部的攻击,最好断网操作。

    3.登录并修改管理员root用户的密码

    重新打开一个终端,如果上一个步骤是放到后台执行,也可以在同一个终端下执行

    ./usr/local/mysql/bin/mysql   如下所示

     [root@LAMP bin]# ./mysql -u root -p

    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 3
    Server version: 5.5.23-log Source distribution

     Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

     Oracle is a registered trademark of Oracle Corporation and/or its

    affiliates. Other names may be trademarks of their respective
    owners.

     Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

     mysql> show databases;

    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |

    这个时候就可以不需要输入管理员root的密码

    选择mysql库

    mysql> use mysql;

    修改root密码

     mysql> update user set password=password('123456') where user='root' and host='127.0.0.1';

    Query OK, 1 row affected (0.11 sec)
    Rows matched: 1 Changed: 1 Warnings: 0

    刷新权限列表,让服务器下次启动能够生效

    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)

    4.修改mysql配置文件

    vim /etc/my.cnf

    将步骤一中在[mysqld]的段中加上的skip-grant-tables删除 ,
    保存并且退出vi。

     5.重新启动mysql服务器即可

    ./usr/local/mysql/bin/mysqld_safe

    这时候使用刚才重置的密码即可登录mysql

     

    windows环境下

    1.打开DOS切换到mysql安装目录的bin文件夹下

    2.输入mysqld --skip-grant-table  回车

    注意不要退出

    3.再打开一个DOS窗口切换到mysql安装的目录的bin文件夹下

    4.输入mysql  回车

    5.选择mysql库,use mysql

    6.重新设置root密码

    update user set password=password('newpassword') where user='root'

    7.刷新权限表

    flush privileges

    8.退出两个终端,重新登录即可

  • 相关阅读:
    2020年秋招三星面试题
    物联网金融和互联网金融的区别与联系
    数据库事务的4种隔离级别
    Access-cookie之sqlmap注入
    SDL-软件安全开发周期流程
    图片马的制作
    ssrf内网端口爆破扫描
    逻辑漏洞_验证码绕过_密码找回漏洞
    平行越权与垂直越权
    xff注入
  • 原文地址:https://www.cnblogs.com/iaknehc/p/5965015.html
Copyright © 2011-2022 走看看