3 回答

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

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

TA貢獻2080條經驗 獲得超4個贊
我已經嘗試了很多方法,但是只有這對我有用
感謝您的解決方法
檢查您的**。env
MYSQL_VERSION=latest
然后輸入此命令
$ docker-compose exec mysql bash
$ mysql -u root -p
(以root用戶身份登錄)
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并登錄為:
主機 -> MySQL的
用戶 ->根
密碼 -> root
希望對你有幫助
添加回答
舉報