詳解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‘
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
[root@redhat7_5 ~]# kill -9 22560
[root@redhat7_5 ~]# netstat -anpt | grep ‘:3306‘
[root@redhat7_5 ~]# service mysqld start #啟動進程
5、驗證登陸
[root@redhat7_5 ~]# mysql -u root -p456 #使用"456"密碼登陸
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
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
[root@redhat7_1 ~]# systemctl restart mysqld.service #重啟服務
6、驗證登陸
[root@redhat7_1 ~]# mysql -uroot -phello #指定"hello"為密碼
詳解Mysql5.5以及5.7版本忘記管理員密碼處理機制