ITPub博客

首页 > 数据库 > 数据库开发技术 > 破解 MySQL 数据库的管理员密码 for MySQL 5.7

破解 MySQL 数据库的管理员密码 for MySQL 5.7

原创 数据库开发技术 作者:shuchaoyang 时间:2024-02-23 07:00:00 0 删除 编辑

破解 MySQL 数据库的管理员密码 for MySQL 5.71 背景2 破解步骤2.1 设置绕开数据库密码验证参数2.2 重启数据库2.3 重置数据库密码2.4 使用新密码登录数据库2.5 验证密码2.6 删掉配置文件绕开密码验证参数2.7 重启数据库3 总结


破解 MySQL 数据库的管理员密码 for MySQL 5.7

1 背景

忘记 MySQL 5.7 数据库的 root 登录密码

# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

2 破解步骤

2.1 设置绕开数据库密码验证参数

在 /etc/my.cnf 配置文件中添加 skip-grant-tables 绕开 MySQL 5.7 数据库密码验证

# echo skip-grant-tables >> /etc/my.cnf

2.2 重启数据库

# systemctl restart mysqld

2.3 重置数据库密码

直接使用 mysql 命令登录 MySQL 5.7 数据库并修改 root 登录密码

# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.23 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, 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>
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql>
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

注意:如果在执行该步骤的时候出现 ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 错误。则执行下 flush privileges; 命令,再执行该命令即可。

2.4 使用新密码登录数据库

使用新密码 password 登录 MySQL 5.7 数据库

# mysql -uroot -ppassword
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.23 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, 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> quit
Bye

2.5 验证密码

使用其他密码不能登录 MySQL 5.7 数据库

# mysql -uroot -ppassworddd
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

2.6 删掉配置文件绕开密码验证参数

删掉 /etc/my.cnf 里的 skip-grant-tables

# sed -i -e '/skip-grant-tables/d' /etc/my.cnf

2.7 重启数据库

# systemctl restart mysqld

3 总结

通过绕开数据库密码验证并重置数据库密码来破解 MySQL 5.7 数据库的 root 登录密码的方法,希望能给大家带来帮助。


👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!


PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我吧!


原文作者:超哥的IT私房菜;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
专注于IT系统集成、运维、架构二十年的IT职场老兵,拥有CCNA、OCA、OCP、PGCA、PGCE认证证书,公众号:超哥的IT私房菜,知识星球:超哥的IT私房菜,目前是多家IT厂商的咨询顾问。

注册时间:2021-08-27

  • 博文量
    552
  • 访问量
    303624