MySQL超级管理员忘记密码该如何处理
MySQL中连接层负责用户用密码验证,详情参见《MySQL体系结构》这篇文章。
方法一、参数 --skip-grant-tables
使用该参数可以跳过授权表,关闭验证功能。
但是单独使用这一个参数,不安全,需要与下面参数一起使用
注:远程可登录,非常不安全,不建议使用
方法二、参数 --skip-networking
使用该参数,可以跳过TCP/IP连接,致使远程无法登录。
1.关闭数据库
mysql> exit
Bye
[root@db01 bin]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!
[root@db01 bin]# systemctl stop mysqld.service
2.使用安全模式启动
[root@db01 bin]# mysqld_safe --skip-grant-tables --skip-networking &
[1] 18712
[root@db01 bin]# 2021-05-29T03:47:14.517355Z mysqld_safe Logging to '/data/3306/db01.err'.
2021-05-29T03:47:14.563634Z mysqld_safe Starting mysqld daemon with databases from /data/3306
#或者使用
service mysqld start --skip-grant-tables --skip-networking
<