3 回答

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
這通常歸因于您的mysql數(shù)據(jù)庫(kù)正在使用的身份驗(yàn)證插件。
默認(rèn)情況下,由于某種原因,mysql 8的默認(rèn)插件是auth_socket。應(yīng)用程序通常會(huì)期望使用密碼登錄到數(shù)據(jù)庫(kù)。
如果尚未更改mysql默認(rèn)身份驗(yàn)證插件,則可以通過(guò)以下方法進(jìn)行更改:
1.以root用戶(hù)身份登錄mysql
2.運(yùn)行以下sql命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';
用您的根密碼替換“密碼”。如果您的應(yīng)用程序沒(méi)有以root用戶(hù)身份登錄到數(shù)據(jù)庫(kù),請(qǐng)用應(yīng)用程序使用的用戶(hù)替換上述命令中的'root'用戶(hù)。
數(shù)字海洋在這里闡述了更多有關(guān)此內(nèi)容安裝Mysql

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊
您必須更改MySQL設(shè)置。編輯my.cnf文件,并將此設(shè)置放在mysqld部分:
[mysqld]
default_authentication_plugin= mysql_native_password
然后運(yùn)行以下命令:
FLUSH PRIVILEGES;
上面的命令將使默認(rèn)身份驗(yàn)證機(jī)制的更改生效。

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
我已經(jīng)嘗試了很多方法,但是只有這對(duì)我有用
感謝您的解決方法
檢查您的**。env
MYSQL_VERSION=latest
然后輸入此命令
$ docker-compose exec mysql bash
$ mysql -u root -p
(以root用戶(hù)身份登錄)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
ALTER USER 'default'@'%' IDENTIFIED WITH mysql_native_password BY 'secret';
然后去phpmyadmin并登錄為:
主機(jī) -> MySQL的
用戶(hù) ->根
密碼 -> root
希望對(duì)你有幫助
添加回答
舉報(bào)