1. 程式人生 > 資料庫 >MySQL 5.7及8.0版本資料庫的root密碼遺忘的解決方法

MySQL 5.7及8.0版本資料庫的root密碼遺忘的解決方法

注:MySQL5.7破解root密碼,跳過密碼認證登入到資料庫,直接修改表中的密碼即可,但是MySQL 8.0則不可以這樣修改root密碼,需要跳過密碼認證登入到資料庫後,先將root密碼設定為空,然後才可以登入到資料庫,修改root密碼。

1、遺忘MySQL 5.7資料庫的root密碼解決辦法

[root@mysql01 ~]# mysql --version    #確定MySQL版本
mysql Ver 14.14 Distrib 5.7.28,for linux-glibc2.12 (x86_64) using EditLine wrapper
[root@mysql01 ~]# vim /etc/my.cnf     #編輯主配置檔案
[mysqld]   #在mysqld這行下寫入下面內容
skip-grant-tables
      .................#省略部分內容
[root@mysql01 ~]# systemctl restart mysqld   #重啟MySQL服務,使配置檔案生效
[root@mysql01 ~]# mysql -uroot      #跳過密碼驗證,直接登入資料庫
#修改root密碼為pwd@123,並重新整理許可權
mysql> use mysql;
mysql> update user set authentication_string = passwoord('pwd@123') where user = 'root';
mysql> flush privileges;   #重新整理許可權
mysql> exit
#配置密碼驗證,使用新密碼登入
[root@mysql01 ~]# vim /etc/my.cnf     #編輯主配置檔案
[mysqld] 
skip-grant-tables      #刪除此行
[root@mysql01 ~]# systemctl restart mysqld     #重啟使更改生效
#使用新密碼即可成功登入
[root@mysql01 ~]# mysql -uroot -ppwd@123   

2、遺忘MySQL 8.0資料庫的root密碼解決辦法

[root@mysql01 ~]# mysql --version    #檢視MySQL版本
mysql Ver 8.0.18 for linux-glibc2.12 on x86_64 (MySQL Community Server - GPL)
[root@mysql01 ~]# vim /etc/my.cnf     #編輯主配置檔案
[mysqld]   #在mysqld這行下寫入下面內容
skip-grant-tables
      .................#省略部分內容
[root@mysql01 ~]# systemctl restart mysqld   #重啟MySQL服務,使配置檔案生效
[root@mysql01 ~]# mysql -uroot      #跳過密碼驗證,直接登入資料庫
#將root密碼設定為空
mysql> use mysql
mysql> update user set authentication_string='' where user = 'root';
mysql> flush privileges;
mysql> exit
#開啟密碼驗證並重新登入資料庫
[root@mysql01 ~]# vim /etc/my.cnf     #編輯主配置檔案
[mysqld] 
skip-grant-tables      #刪除此行
[root@mysql01 ~]# systemctl restart mysqld     #重啟使更改生效
[root@mysql01 ~]# mysql -uroot      #直接登入資料庫
mysql> alter user root@localhost identified by 'pwd@111';
mysql> flush privileges;
mysql> exit
#使用新密碼進行登入測試
[root@mysql01 ~]# mysql -uroot -ppwd@111

總結

以上所述是小編給大家介紹的MySQL 5.7及8.0版本資料庫的root密碼遺忘的解決辦法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!