如果你最近升級(jí)了 MySQL 數(shù)據(jù)庫(kù)到 8.0 版本,也許你已經(jīng)遇到了無(wú)法登錄 root 用戶的問(wèn)題。這是由于 MySQL 8.0 引入了一個(gè)新的密碼認(rèn)證插件,被稱為 caching_sha2_password,而默認(rèn)的身份驗(yàn)證插件是 mysql_native_password。這會(huì)導(dǎo)致 root 用戶無(wú)法登錄。
為了解決這個(gè)問(wèn)題,我們需要先以其它用戶登錄數(shù)據(jù)庫(kù),和先前的密碼一樣,運(yùn)行以下命令更改 root 用戶的身份驗(yàn)證插件:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
請(qǐng)記住要用你自己的密碼代替上面命令中的 'password'。
運(yùn)行完成后,你應(yīng)該能夠重新用 root 用戶登錄 MySQL 數(shù)據(jù)庫(kù)了。
如果你想要永久性改變默認(rèn)的身份驗(yàn)證插件,可以在 MySQL 配置文件 (my.cnf) 中添加以下一行代碼:
default-authentication-plugin=mysql_native_password
然后重啟 MySQL 服務(wù),并在以后創(chuàng)建新用戶時(shí)會(huì)使用 mysql_native_password 作為默認(rèn)的身份驗(yàn)證插件。
希望這些步驟可以幫助你解決 MySQL 8.0 無(wú)法登錄 root 用戶的問(wèn)題。