win10下MySQL 8.0登錄Access denied for user‘root’@‘localhost’ (using password: YES)問題的解決方法
近些時(shí)間在開始學(xué)MySQL,安裝挺順利的,按照網(wǎng)上現(xiàn)成的教程就能安裝成功。
但是,在我開開心心地輸入
mysql -uroot -p
再輸入密碼時(shí),遇到了這個(gè)情況
Access denied for user 'root'@'localhost' (using password: YES)
在網(wǎng)上找了很多解決辦法,但是基本只有一個(gè),在.ini文件中的mysqld條目添加
skip-grant-tables
然后重啟服務(wù)器,再按照剛剛的步驟再來一遍(最后不輸入密碼),但是還是一條語句把我攔了下來
Access denied for user 'root'@'localhost' (using password: NO)
綜合了網(wǎng)上很多方法,自己一個(gè)一個(gè)拼接著去試,最后成功了。

總體上的思想還是修改.ini配置文件的內(nèi)容,不過是通過命令行的形式修改,不知道是不是因?yàn)榘姹镜税岩郧澳莻€(gè)直接修改文件的方法屏蔽了,無論如何,通過命令行修改在MySQL 8.0上是可以的。
下面開始吧。
1.以管理員身份打開cmd,切換到MySQL的bin目錄
2.關(guān)閉MySQL服務(wù)器
net stop mysql
3.跳過輸入密碼的步驟
mysqld --defaults-file="D:\MySQL\my.ini" --console --skip-grant-tables
(注意:文件名字與路徑要與自己的吻合)
如果出現(xiàn)類似截圖圈起來的語句則說明成功

4.重啟服務(wù)器
net start mysql
5.登錄MySQL服務(wù)器
mysql -uroot -p
輸入密碼之后就能登錄成功了。

(數(shù)字1跟字母l很像很像)
到這一步差不多就能完成了,但是當(dāng)我輸入
show databases;
MySQL給我的反饋是:
You must reset your password using ALTER USER statement before executing this statement.
我的猜測應(yīng)該是MySQL認(rèn)為安裝時(shí)提供的隨機(jī)密碼不安全,讓用戶重置密碼。
網(wǎng)上找了一下,然后找到的現(xiàn)成辦法,參考文章
密碼永不過期的
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼' PASSWORD EXPIRE NEVER;
密碼有限期的
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼' PASSWORD EXPIRE;
然后重新登錄一下服務(wù)器就能正常的操作了。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信