二、MySQL登錄報錯1045
使用cmd命令行登錄 MySQL 時出現(xiàn)一個報錯

報錯顯示該用戶被拒絕訪問數(shù)據(jù)庫
嘗試重啟服務(wù),結(jié)果并不能解決問題

排查時發(fā)現(xiàn)是登錄密碼輸錯了……
網(wǎng)上查到的找回密碼的方法是先關(guān)閉服務(wù),然后命令行輸入”mysqld --console --skip-grant-tables --shared-memory“命令來跳過登錄驗證,從而無需輸入密碼直接進(jìn)入數(shù)據(jù)庫,然后就可以修改密碼了。
然而實(shí)際操作時又遇到報錯:

報錯信息顯示,無法創(chuàng)建測試文件?”C:\Program Files\MySQL\MySQL Server 8.0\data\mysqld_tmp_file_case_insensitive_test.lower-test“,以及找不到 ”data“ 文件夾,該錯誤只在 8.0 版本以上才會出現(xiàn)
直接在該路徑下創(chuàng)建 data 文件夾是無法解決問題的,經(jīng)過多次嘗試后找到如下方法:
使用 cd 命令進(jìn)入到 MySQL 服務(wù)端的 bin 目錄?
輸入 ”mysqld --initialize“ 初始化服務(wù)端程序
輸入 ”mysqld install“ 安裝服務(wù)端程序
輸入 ”net start mysql“ 啟動 MySQL 服務(wù)
此時文件夾下已經(jīng)成功生成了 data 文件夾以及里面的一些配置文件,在 data 文件夾中找到一個后綴名為 ”.err“ 的文件,用記事本打開,”root@localhost:“后面的就是登錄密碼

打開 cmd(不用進(jìn)入管理員模式),用該密碼登入 MySQL,密碼只能手打不能復(fù)制粘貼,區(qū)分大小寫

登入成功后,輸入以下兩條 sql 語句來重置密碼:

”alter user 'root'@'localhost' identified by '新密碼';“ ——修改 ”root“ 用戶的密碼
”flush privileges;“——刷新數(shù)據(jù)庫系統(tǒng)權(quán)限,每次修改密碼后都要使用該命令,否則就得重啟服務(wù)
退出用新密碼重新登錄,可以看到密碼已經(jīng)成功修改好
