MySQL 8 版本不允許通過(guò) root 用戶在本地進(jìn)行遠(yuǎn)程訪問(wèn),這是因?yàn)?MySQL 8 以后的版本中將插件認(rèn)證作為默認(rèn)身份驗(yàn)證插件。這意味著使用 root 用戶進(jìn)行本地 MySQL 數(shù)據(jù)庫(kù)的訪問(wèn)需要更改其默認(rèn)插件認(rèn)證。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼'; FLUSH PRIVILEGES;
上述代碼將 root 用戶的默認(rèn)認(rèn)證插件更改為 MySQL 原生密碼,并重置其密碼。現(xiàn)在,您可以使用 root 用戶從 localhost 訪問(wèn) MySQL 了。
另外,MySQL 8 版本中對(duì)密碼復(fù)雜性有了更強(qiáng)的要求,如果您的密碼不符合規(guī)定,則需要使用以下代碼更改其要求:
SET GLOBAL validate_password.policy = LOW;
MySQL 8 還引入了另一個(gè)新功能——密碼過(guò)期,當(dāng)某個(gè)用戶的密碼過(guò)期時(shí),他需要進(jìn)行密碼重置。以下代碼可以幫助您禁用密碼過(guò)期這個(gè)功能:
ALTER USER '用戶名'@'localhost' PASSWORD EXPIRE NEVER;
綜上所述,MySQL 8 不允許通過(guò) root 用戶在本地進(jìn)行遠(yuǎn)程訪問(wèn),但是我們可以通過(guò)更改其默認(rèn)認(rèn)證插件和密碼復(fù)雜度等級(jí)、禁用密碼過(guò)期等方式解決這個(gè)問(wèn)題。