淺析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.用新密碼登錄
三 版權區
- 感謝您的閱讀,若有不足之處,歡迎指教,共同學習、共同進步。
- 博主網址:http://www.cnblogs.com/wangjiming/。
- 極少部分文章利用讀書、參考、引用、抄襲、復制和粘貼等多種方式整合而成的,大部分為原創。
- 如您喜歡,麻煩推薦一下;如您有新想法,歡迎提出,郵箱:[email protected]。
- 可以轉載該博客,但必須著名博客來源。
淺析MySQL 8忘記密碼處理方式