使用 nodejs 連線資料庫時報錯

2021-10-02 18:14:20 字數 775 閱讀 9103

使用nodejs做後端連線資料庫時,連線資料庫報錯如下:

throw err; // rethrow non-mysql errors

^error: er_not_supported_auth_mode: client does not support authentication protocol requested by server; consider upgrading mysql client

at handshake.sequence._packettoerror (d:\1.15\server\node_modules\mysql\lib\protocol\sequences\sequence.js:47:14)

··········

錯誤原因:

上網查詢之後發現是:導致這個錯誤的原因是,目前,最新的mysql模組並未完全支援mysql 8的「caching_sha2_password」加密方式,

而「caching_sha2_password」在mysql8中是預設的加密方式。

因此,下面的方式命令是預設已經使用了「caching_sha2_password」加密方式,該賬號、密碼無法在mysql模組中使用。

解決方法:

//重新修改使用者root的密碼,並指定mysql模組能夠支援的加密方式:

alter user 'root'@'localhost' identified by 'yourpassword';

再次執行,成功。

定時demo連線資料庫時報錯

有需求使用定時任務,定時從介面中獲取資料,存到本地資料庫。寫好了demo,在分配時間後也沒有測試。直接就放到伺服器上了,結果第二天檢視時,發現資料不全。本地試了一下,發現出現了錯誤。我也照著試了下,發現還是不行。網上都說主要改這兩個引數。wait timeout 172800 interactive...

使用python連線資料庫

使用python連線資料庫 import pymysql 第一步 連線資料庫 conn pymysql.connect host ip位址 port 埠,user 賬號 passwd 密碼 database 資料庫名 第二步 通過連線拿到游標 cursor conn.cursor try sql s...

使用sqlplus連線資料庫

sqlplus sjtu sjtu description address list address protocol tcp host 192.168.0.77 port 1521 connect data service name sjtu 如下圖所示 如下圖所示 方法1中的格式是固定的,我們在...