首頁 > 資料庫 > mysql教程 > Node.js 應用程式如何使用 MySQL 8.0 的快取 SHA2 密碼進行驗證?

Node.js 應用程式如何使用 MySQL 8.0 的快取 SHA2 密碼進行驗證?

DDD
發布: 2024-12-14 15:23:33
原創
686 人瀏覽過

How Can Node.js Applications Authenticate with MySQL 8.0's Caching SHA2 Password?

連接到MySQL 8.0 的Node.js 驗證問題

MySQL 8.0 引入了新的身份驗證機制,這給了Node.js程式連線帶來了困難資料庫。預設不再支援先前 MySQL 版本使用的舊驗證方法。

驗證機制差異

MySQL 5.7 使用 mysql_native_password 外掛進行驗證,而 MySQL 8.0 使用 mysql_native_password 外掛程式進行驗證快取_sha2_密碼。 Node.js 社群驅動程式目前缺乏新外掛程式的相容機制。

Node.js 的解決方法

要避免此問題,有兩種潛在的解決方法:

  • 恢復到傳統外掛程式:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';
登入後複製

這會修改根帳戶以使用舊的驗證方法。

  • 使用舊外掛程式建立新使用者:
CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';
登入後複製

這將會建立一個單獨的使用者使用舊版外掛程式。

使用 MySQL 連接器的替代選項

另一個解決方案涉及使用官方 MySQL Node.js 連接器。此連接器利用 X 協定並支援開箱即用的較新身份驗證機制。

社群支援與更新

即將推出一個拉取請求,旨在解決此問題社群 Node.js 驅動程式中的問題。不過,更新預計需要一些時間。

以上是Node.js 應用程式如何使用 MySQL 8.0 的快取 SHA2 密碼進行驗證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板