嘗試用node編寫一個簡單的登錄介面,結果啟動服務後請求介面出現了該錯誤。 其問題就是訪問的工具身份驗證協議過於落後,在node內安裝的2.18.1 mysql包。 解決: 先登錄資料庫。 use mysql;(mysql為資料庫名) 提示Database changed; 查詢表中信息 ; sel ...
嘗試用node編寫一個簡單的登錄介面,結果啟動服務後請求介面出現了該錯誤。
其問題就是訪問的工具身份驗證協議過於落後,在node內安裝的2.18.1 mysql包。
解決:
先登錄資料庫。
use mysql;(mysql為資料庫名)
提示Database changed;
查詢表中信息 ;
select user,host,plugin from mysql.user
//這裡查詢的三項分別為,用戶,主機地址,插件信息,可以知道密碼校驗的方式
之後執行以下語句
alter user 'root'@'%' identified by 'password' password expire never; // password expire never 是mysql8之後的新密碼管理機制 alter user 'root'@'%' identified with mysql_native_password by 'password'; //password是自己新修改的密碼, mysql_native_password則是另一種密碼校驗方式.(具體原理我也不知道) flush privileges;
//再次刷新一下許可權配置。
修改好了,再使用node訪問介面,成功拿到資料庫中數據。