MySQL初始化攻略&MySQL密碼重置方式
當(dāng)我們?cè)谶B接MySQL時(shí),有時(shí)會(huì)彈出這種錯(cuò)誤
“Acess denied for user 'root'@'localhost'(using password:YES)"

出現(xiàn)這種錯(cuò)誤一般是由于連接時(shí)密碼輸入有誤,而若是反復(fù)確認(rèn)密碼輸入沒有錯(cuò)誤,仍然出現(xiàn)這種錯(cuò)誤,可以通過MySQL初始化實(shí)現(xiàn)密碼重置。
注意:初始化操作可能會(huì)刪除你原本在數(shù)據(jù)庫中所創(chuàng)建的各類表等內(nèi)容。
1.打開計(jì)算機(jī)的命令行窗口
右擊開始菜單,選擇“搜索”,輸入cmd,找到“命令提示符”,以管理員身份運(yùn)行。

2.停止MySQL服務(wù)
如果你確切的知道你的MySQL服務(wù)的名稱,可以直接在命令行中輸入 net stop MySQL服務(wù)名稱 ,完成這一步操作。
如果不知道則需要在服務(wù)中尋找MySQL,找到它的服務(wù)名:
右擊“計(jì)算機(jī)/此電腦”,選擇“管理”
(若是沒找到管理,選擇“顯示更多選項(xiàng)”。)

選擇“服務(wù)和應(yīng)用程序”欄下的“服務(wù)”

通過名稱尋找MySQL確定其名稱

(可知我的電腦中MySQL的服務(wù)名為MySQL80)
停止MySQL服務(wù)
我們可以選擇雙擊/右擊這項(xiàng)服務(wù),選擇停止,也可以使用2-1的方法,在cmd中進(jìn)行停止(若是提示拒絕訪問,可能是你沒有以管理員的身份運(yùn)行,需要返回流程1重新操作)。

3.重新安裝服務(wù)
在命令提示行中輸入 mysqld --remove mysql80 (這里我的MySQL服務(wù)名叫mysql80,你需要把它更換為你在流程2中所找到的你自己的服務(wù)名,以下命令也是如此)刪除服務(wù)。
然后再輸入 mysqld --install mysql80 安裝服務(wù)。
在進(jìn)行該步驟操作時(shí),若是提示如下錯(cuò)誤,則是因?yàn)?strong>沒有設(shè)置mysql的path環(huán)境變量。

該錯(cuò)誤的解決方法有兩種:切換操作文件夾 或者 編輯環(huán)境變量(一勞永逸)。
出現(xiàn)錯(cuò)誤解決方案:
1.切換操作文件夾
通過cd命令切換到mysql服務(wù)的bin目錄(默認(rèn)為C:\Program Files\MySQL\MySQL Server 8.0\bin\),只需要在cmd中輸入 cd C:\Program Files\MySQL\MySQL Server 8.0\bin ,之后即可進(jìn)行以上刪除與安裝操作。
2.編輯環(huán)境變量
再次使用流程1的搜索,輸入環(huán)境變量,打開“編輯系統(tǒng)環(huán)境變量”

之后點(diǎn)擊環(huán)境變量

在系統(tǒng)變量或者用戶變量的path變量中新建方案1中找到的路徑(默認(rèn)還是C:\Program Files\MySQL\MySQL Server 8.0\bin\)

之后點(diǎn)擊確定就可以解決了,這一方案相較于另一種方案的優(yōu)點(diǎn)在于之后再次使用mysql、mysqld等命令時(shí),不用再次跳轉(zhuǎn)到相應(yīng)的文件夾。
重新安裝服務(wù)之后,我們就能進(jìn)行下一個(gè)操作了。

4.初始化
在命令提示行輸入 mysqld --initialize --console 進(jìn)行初始化。
··如果彈出以下提示,則證明你初始化成功。

如果感覺初始密碼太過復(fù)雜,無法區(qū)分,可以重新運(yùn)行該命令,重新初始化,生成新密碼。
··而若是出現(xiàn)下面的錯(cuò)誤,說明初始化失敗。

該錯(cuò)誤的原因在是其data目錄不可用,需要運(yùn)行 net stop mysql80 停止服務(wù),刪除C:\Program Files\MySQL\MySQL Server 8.0\文件夾下data目錄(存放所有的數(shù)據(jù)庫的信息),再次運(yùn)行 mysqld --initialize --console 初始化。
5.啟動(dòng)MySQL服務(wù)
在命令提示行輸入 net start mysql80 啟動(dòng)MySQL服務(wù)。
6.連接MySQL,重置密碼
在命令行輸入 mysql -u root -p 連接MySQL,在輸入password時(shí),對(duì)照初始化后生成的初始密碼進(jìn)行輸入(如果密碼無法辨識(shí)可以嘗試重新初始化,生成新密碼,再次啟動(dòng)、連接)。
出現(xiàn)這個(gè)界面就表示連接成功了。

之后輸入
alter user root@'localhost' identified with mysql_native_password by'新密碼';
回車就可以完成密碼重置了。

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql多表join時(shí)候update更新數(shù)據(jù)的方法
如果item表的name字段為''就用resource_library 表的resource_name字段前面加上字符串Review更新它,他們的關(guān)聯(lián)關(guān)系在表resource_review_link中。2011-03-03
MySQL使用Partition功能實(shí)現(xiàn)水平分區(qū)的策略
這篇文章主要介紹了MySQL使用Partition功能實(shí)現(xiàn)水平分區(qū),給大家提到了水平分區(qū)的5種策略,通過sql語句給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12
MYSQL 的10大經(jīng)典優(yōu)化案例場景實(shí)戰(zhàn)
在應(yīng)用開發(fā)的早期,數(shù)據(jù)量少,開發(fā)人員開發(fā)功能時(shí)更重視功能上的實(shí)現(xiàn),隨著生產(chǎn)數(shù)據(jù)的增長,很多SQL語句開始暴露出性能問題,對(duì)生產(chǎn)的影響也越來越大,有時(shí)可能這些有問題的SQL就是整個(gè)系統(tǒng)性能的瓶頸。本文我們就聊聊MYSQL的優(yōu)化2021-09-09
MySQL用戶和數(shù)據(jù)權(quán)限管理詳解
這篇文章主要為大家詳細(xì)介紹了MySQL數(shù)據(jù)庫管理中的用戶和數(shù)據(jù)權(quán)限管理,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)MySQL有一定幫助,需要的可以參考一下2022-08-08
MySQL學(xué)習(xí)第三天 Windows 64位操作系統(tǒng)下驗(yàn)證MySQL
MySQL學(xué)習(xí)第三天教大家如何在Windows 64位操作系統(tǒng)下驗(yàn)證MySQL,感興趣的小伙伴們可以參考一下2016-05-05

