破解 MySQL 数据库的管理员密码 for MySQL 5.71 背景2 破解步骤2.1 设置绕开数据库密码验证参数2.2 重启数据库2.3 重置数据库密码2.4 使用新密码登录数据库2.5 验证密码2.6 删掉配置文件绕开密码验证参数2.7 重启数据库3 总结
忘记 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)
在 /etc/my.cnf 配置文件中添加 skip-grant-tables 绕开 MySQL 5.7 数据库密码验证
# echo skip-grant-tables >> /etc/my.cnf
# systemctl restart mysqld
直接使用 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; 命令,再执行该命令即可。
使用新密码 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
使用其他密码不能登录 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)
删掉 /etc/my.cnf 里的 skip-grant-tables
# sed -i -e '/skip-grant-tables/d' /etc/my.cnf
# systemctl restart mysqld
通过绕开数据库密码验证并重置数据库密码来破解 MySQL 5.7 数据库的 root 登录密码的方法,希望能给大家带来帮助。
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!
PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我吧!

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