1. 程式人生 > 資料庫 >MySQL 8忘記密碼的最佳處理方式淺析

MySQL 8忘記密碼的最佳處理方式淺析

前言

對MySQL有研究的讀者,可能會發現MySQL更新很快,在安裝方式上,MySQL提供了兩種經典安裝方式:解壓式和一鍵式,雖然是兩種安裝方式,但我更提倡選擇解壓式安裝,不僅快,還乾淨。在作業系統上,MySQL也支援多型別作業系統,如linux,windows等,如下為MySQL幾個重大變化的作業系統。

通過研究分析,不難發現:MySQL從低版本向高版本迭代變化的過程,越來越嚴謹的安全性是其一大特點之一,我們舉個例子,在版本6前,當忘記密碼,重置密碼,非常方面,只需使用執行如下兩步即可:

步驟一:跳過許可權表

mysqld –skip-grant-tables

步驟二:將密碼置空

UPDATE user SET authentication_string='' WHERE user='root';

然而,這個方案,卻在MySQL8不適用。

本篇文章將來解決MySQL 8忘記密碼重置密碼問題。主要包括三方面類容

內容一:簡述解壓式安裝MySQL 8

內容二:忘記密碼重置密碼解決方案一

內容三:忘記密碼重置密碼解決方案二

一 安裝

1.在官網下載安裝包(官網提供兩種安裝方式:視覺化安裝方式和解壓式),本示例以基於解壓式。官網下載地址https://dev.mysql.com/downloads/mysql/

2.將安裝包解壓,放在 C:\MySQL 目錄下面

3.配置環境變數

MySQL_HOME="C:\MySQL\mysql-8.0.15-winx64"

PATH="%MySQL_HOME%\bin"

4.以管理員身份開啟dos

(1)啟動服務

mysqld --install

(2)初始化併產生初始化密碼(MySQL7+沒有data目錄,初始話安裝data目錄)

mysqld --initialize --user=mysql --console

(3)啟動服務

net start mysql

(4)登入

賬號root,密碼為初始話產生的臨時密碼A*v)(Ivw7xjQ,登入後,需要改變

(5)更改root密碼

格式:alter user '使用者名稱'@'登入主機' identified by '密碼(自定義)';

(6)新密碼登入

(7)擴充套件命令

移除服務:mysql --remove

停止mysql服務:mysql stop mysql

退出mysql:exit

二 解決忘記密碼問題

(一)方案一

1.管理員身份進入dos

2.停止mysql服務

net stop mysql

3.無密碼啟動

mysqld --console --skip-grant-tables --shared-memory

4.另啟一個dos視窗,無密碼登入

5.清空密碼

注意:authentication_string採用的是plugin加密方式,故設定為空,不要設定為其他值

6.啟動服務

關閉開啟的兩個dos視窗,然後以管理員身份重新開啟一個dos視窗,啟動服務

net start mysql

7.無密碼登入

mysql -u root

8.重新設定密碼

修改後,就可以用新密碼登入了。

9.新密碼登入

(二)方案二:利用引數 --init-file引數

1.停止服務

net stop mysql

2.在c:\MySQL 目錄下建立ResetPWD.txt檔案,檔案內容為

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

3.執行ResetPWD.txt檔案

mysqld --init-file=c:\mysql\ResetPWD.txt --console,執行完畢後,關閉dos視窗

4.啟動mysql

net start mysql

5.用新密碼登入

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對我們的支援。