亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP with MySQL 8.0+錯誤:服務器請求客戶端未知的身份驗證方法

PHP with MySQL 8.0+錯誤:服務器請求客戶端未知的身份驗證方法

慕標5832272 2019-11-28 09:58:10
我在PHP 7.0上運行MySQL版本8。當我嘗試從PHP連接到數據庫時出現以下錯誤:連接錯誤:SQLSTATE [HY000] [2054]服務器請求客戶端未知的身份驗證方法PHP可能顯示此錯誤警告:mysqli_connect():服務器在第10行的D:\ xampp \ htdocs \ reg \ server.php中請求客戶端[caching_sha2_password]未知的身份驗證方法我該如何解決這個問題?
查看完整描述

3 回答

?
精慕HU

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


查看完整回答
反對 回復 2019-11-28
?
holdtom

TA貢獻1805條經驗 獲得超10個贊

您必須更改MySQL設置。編輯my.cnf文件,并將此設置放在mysqld部分:


[mysqld]

default_authentication_plugin= mysql_native_password

然后運行以下命令:


FLUSH PRIVILEGES;

上面的命令將使默認身份驗證機制的更改生效。


查看完整回答
反對 回復 2019-11-28
?
犯罪嫌疑人X

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

希望對你有幫助


查看完整回答
反對 回復 2019-11-28
  • 3 回答
  • 0 關注
  • 2407 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號