1. 前言
本文主要讲解MySQL数据库root账户密码忘记两种处理方法,经过测试可有效解决mysql密码重置问题。
mysql-password-reset-01.png
2. 重置mysql root用户方法1:
Step1.停止MySQL服务
[root@zcwyou ~]# kill `cat /var/run/mysqld/mysqld.pid`
或者
[root@zcwyou ~]# pkill mysqld
Step2.创建一个密码赋值语句的文本文件
[root@zcwyou ~]# vi mysql-init
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass!6';
在加载授权表之前重置密码。
Step3.使用—init-file选项启动MySQL服务
[root@zcwyou ~]# mysqld --init-file=mysql-init --user=mysql &
Step4.删除文本文件,使用新密码连接MySQL
[root@zcwyou ~]# rm -f mysql-init [root@zcwyou ~]# mysql -uroot -p 'MyNewPass!6'
Step5.停止MySQL服务并正常启动
[root@zcwyou ~]# kill `cat /var/run/mysqld/mysqld.pid` [root@zcwyou ~]# systemctl start mysqld
mysql-password-reset-02.png
2. 修改mysql root用户密码之方法2
Step1.停止MySQL服务
[root@zcwyou ~]# kill `cat /var/run/mysqld/mysqld.pid`
或者
[root@zcwyou ~]# pkill mysqld
mysql-password-reset-03.jpg
Step2: 启动mysql时,跳过某些选项
使用--skip-grant-tables --skip-networking选项启动MySQL服务
[root@zcwyou ~]# mysqld --skip-grant-tables --skip-networking --user=mysql
--skip-grant-tables:跳过授权表认证
--skip-networking:加了跳过授权表选项后所有的人都可以无密码登录,这是很不安全的,此选项不监听网络,防止恶意登录。
Step3:无密码连接MySQL
[root@zcwyou ~]# mysql
Step4:破解mysql密码
mysql> FLUSH PRIVILEGES; mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass!6';
5.停止MySQL服务并正常启动
[root@zcwyou ~]# kill `cat /var/run/mysqld/mysqld.pid` [root@zcwyou ~]# systemctl startmysqld
3. 总结
Mysql密码应该谨慎保管,一般情况下,不应该重置密码,应该能准备输入密码。但Mysql密码破解技能应该每个系统运维工程师必备技能之一。