详解Mysql5.5以及5.7版本忘记管理员密码处理机制

简介

使用Mysql时,如果忘记了其他用户的密码,可以使用root用户重新设置,但是如果忘记了root的密码,就需要采用下面的操作进行处理

实验环境

  • 系统环境:centos7.4
  • 服务器IP地址:192.168.100.71
  • yum挂载目录:/mnt/sr0
  • 相关源码信息:mysql-5.5.24、mysql-5.7.17

注意没有安装安装mysql的朋友可以查看我之前的博文(内附源码包)
Mysql-5.7安装教程

Mysql-5.5安装教程

解密步骤

一、Mysql-5.5版本忘记密码重置

1、关闭mysql服务

[root@redhat7_5 ~]# service mysqld stop

2、使用mysqd_safe结合--skip-grant-tables启动数据库

[root@redhat7_5 ~]# mysqld_safe --skip-grant-tables&
[root@redhat7_5 ~]# netstat -anpt | grep ':3306'
详解Mysql5.5以及5.7版本忘记管理员密码处理机制

3、修改管理员密码

[root@redhat7_5 ~]# mysql #进入mysql
mysql> update mysql.user set password=password('456') where user='root'; #修改root用户密码为"456"
mysql> flush privileges; #刷新
mysql> quit; #退出

4、再次启动服务

[root@redhat7_5 ~]# !netstat
详解Mysql5.5以及5.7版本忘记管理员密码处理机制

[root@redhat7_5 ~]# kill -9 22560

[root@redhat7_5 ~]# netstat -anpt | grep ':3306'
详解Mysql5.5以及5.7版本忘记管理员密码处理机制

[root@redhat7_5 ~]# service mysqld start #启动进程

5、验证登陆

[root@redhat7_5 ~]# mysql -u root -p456 #使用"456"密码登陆
详解Mysql5.5以及5.7版本忘记管理员密码处理机制

6、关闭服务

[root@redhat7_5 ~]# service mysqld stop

二、Mysql-5.7版本忘记密码重置

1、关闭mysql服务

[root@redhat7_1 ~]# systemctl stop mysqld.service

2、修改主配置文件

[root@redhat7_1 ~]# vim /etc/my.cnf
详解Mysql5.5以及5.7版本忘记管理员密码处理机制

3、启动服务

[root@redhat7_1 ~]# systemctl start mysqld.service
[root@redhat7_1 ~]# netstat -anpt | grep ':3306' #查看服务进程

4、修改管理员密码

[root@redhat7_1 ~]# mysql #进入mysql
mysql> update mysql.user set authentication_string=password('hello') where user='root'; #将管理员密码设置为"hello"
mysql> quit;

5、再次修改主配置文件

[root@redhat7_1 ~]# vim /etc/my.cnf
详解Mysql5.5以及5.7版本忘记管理员密码处理机制

[root@redhat7_1 ~]# systemctl restart mysqld.service #重启服务

6、验证登陆

[root@redhat7_1 ~]# mysql -uroot -phello #指定"hello"为密码
详解Mysql5.5以及5.7版本忘记管理员密码处理机制

猜你喜欢

转载自blog.51cto.com/11905606/2167135