MySQL 8.0 的Node.js 驗證問題
最近升級到MySQL 8.0 為連接到的Node.js 應用程式引入了身份驗證挑戰MySQL 資料庫。 MySQL 8.0 採用了新的預設身份驗證外掛程式 caching_sha2_password,目前社群的 MySQL Node.js 驅動程式缺乏相容的客戶端身份驗證機制來支援。
問題:
Node.js 應用程式無法成功驗證MySQL 8.0 資料庫,導致由於身份驗證外掛程式不匹配,因此身份驗證期間出現「ER_NOT_SUPPORTED_AUTH_MODEPPORTED_AUTH_MO」錯誤。
解決方法:
要避免此問題,您有兩種選擇:
更改使用者帳戶的驗證外掛程式:
修改現有的「root」使用者帳戶或建立新的使用者帳戶以使用先前的驗證外掛程式mysql_native_password。這可以透過以下SQL 指令來實現:
使用官方MySQL Node.js 連接器:
利用官方MySQL Node. js 連接器,基於X 協議,原生支援MySQL使用的新身分驗證模式8.0.
未來解決方案:
目前正在開發拉取請求,以解決MySQL 社群Node.js驅動程式中的此問題。一旦合併發布,此更新將為 MySQL 8.0 中的新驗證模式提供適當的支援。
以上是如何修復 MySQL 8.0 的 caching_sha2_password 的 Node.js 驗證錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!