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.用新密碼登入
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對我們的支援。