Nodejs?連接?mysql時(shí)報(bào)Error:?Cannot?enqueue?Query?after?fatal?error錯(cuò)誤的處理辦法
Nodejs 連接 mysql時(shí)報(bào)Error: Cannot enqueue Query after fatal error錯(cuò)誤的處理辦法
一、nodejs連接mysql?
npm install mysql --save
創(chuàng)建連接代碼 db.js
//導(dǎo)入mysql連接包 const mysql = require('mysql'); let dbconfig ={ host: 'db_host', user: 'db_user', password: 'db_pass', database: 'db_name', debug: true }; function handleDisconnection() { db = mysql.createConnection(dbconfig); db.connect(function (err) { if (err) { console.log('db connect error:' + err.message + "2秒后重連"); setTimeout(handleDisconnection, 2000); } }); db.on('error', function (err) { console.log(err); if (err.code === 'PROTOCOL_CONNECTION_LOST') { console.log('db error執(zhí)行重連:' + err.message); handleDisconnection(); } else { throw err; } }); db.querySync = function(sql) { return new Promise(function(resolve, reject) { db.query(sql, function(error, results, fields) { if(error) reject(error); else resolve({results, fields}) }) }) }; return db; } //創(chuàng)建連接conn exports.db = handleDisconnection();
二、Nodejs 連接 mysql時(shí)報(bào)錯(cuò) Error: Cannot enqueue Query after fatal error
1.原配置參數(shù)
let dbconfig ={ host: 'db_host', user: 'db_user', password: 'db_pass', database: 'db_name', debug: true };
只要加上useConnectionPooling: true參數(shù)就可以了
2.新配置參數(shù)
let dbconfig ={ host: 'db_host', user: 'db_user', password: 'db_pass', database: 'db_name', useConnectionPooling: true, debug: true };
補(bǔ)充:Node.js連接MySQL數(shù)據(jù)庫(kù)報(bào)錯(cuò)
解決Node.js第一次連接MySQL數(shù)據(jù)庫(kù)時(shí)出現(xiàn)[SELECT ERROR] - ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
的錯(cuò)誤。
報(bào)錯(cuò)原因:mysql8.0以上的加密方式,Node.js還不支持。
解決方法:
進(jìn)入mysql(cmd管理員模式)
1.第一步:?jiǎn)?dòng)mysql服務(wù),可以通過(guò)net start mysql
命令實(shí)現(xiàn)
2.第二步:在命令行輸入:mysql -u用戶名 -p密碼
,回車;
-h表示服務(wù)器名,localhost表示本地,-hlocalhost 可不輸入;
-u為數(shù)據(jù)庫(kù)用戶名,root是mysql默認(rèn)用戶名;
-p為密碼,如果設(shè)置了密碼,可直接在-p后鏈接輸入,如:-p123456,用戶沒(méi)有設(shè)置密碼,顯示Enter password時(shí),直接回車即可。)
例子:mysql -hlocalhost -uroot -p123456
,包含了密碼會(huì)直接進(jìn)入
3.進(jìn)入后是這樣的:
4.輸入MySQL語(yǔ)句
先輸入alter user 'root'@'localhost' identified with mysql_native_password by '123456';
出現(xiàn):
再輸入flush privileges;
出現(xiàn):
問(wèn)題解決了,再次運(yùn)行就不會(huì)報(bào)錯(cuò)了
參考文章:
https://blog.csdn.net/weixin_43042683/article/details/106779060
https://www.cnblogs.com/jing-tian/p/11688073.html
到此這篇關(guān)于Nodejs 連接 mysql時(shí)報(bào)Error: Cannot enqueue Query after fatal error錯(cuò)誤的處理辦法的文章就介紹到這了,更多相關(guān)Nodejs 連接 mysql報(bào)錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用nodejs連接mySQL寫(xiě)接口全過(guò)程(增刪改查)
- nodejs+mysql實(shí)現(xiàn)用戶相關(guān)的增刪改查的詳細(xì)操作
- 三分鐘教會(huì)你用nodejs操作mysql數(shù)據(jù)庫(kù)
- NodeJs操作MYSQL方法詳細(xì)介紹
- nodejs中關(guān)于mysql數(shù)據(jù)庫(kù)的操作
- Nodejs中koa2連接mysql的實(shí)現(xiàn)示例
- NodeJs+MySQL實(shí)現(xiàn)注冊(cè)登錄功能
- nodejs連接mysql數(shù)據(jù)庫(kù)及基本知識(shí)點(diǎn)詳解
- nodejs實(shí)現(xiàn)的連接MySQL數(shù)據(jù)庫(kù)功能示例
- Nodejs連接mysql并實(shí)現(xiàn)增、刪、改、查操作的方法詳解
- NodeJS連接MySQL數(shù)據(jù)庫(kù)并進(jìn)行增刪改查操作詳解
相關(guān)文章
nodejs實(shí)現(xiàn)日志讀取、日志查找及日志刷新的方法分析
這篇文章主要介紹了nodejs實(shí)現(xiàn)日志讀取、日志查找及日志刷新的方法,涉及nodejs日期時(shí)間運(yùn)算、轉(zhuǎn)換及日志讀寫(xiě)等相關(guān)操作技巧,需要的朋友可以參考下2019-05-05Node.js爬蟲(chóng)如何獲取天氣和每日問(wèn)候詳解
這篇文章主要給大家介紹了關(guān)于Node.js爬蟲(chóng)如何獲取天氣和每日問(wèn)候的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Node.js爬蟲(chóng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08node.js實(shí)現(xiàn)博客小爬蟲(chóng)的實(shí)例代碼
這篇文章通過(guò)實(shí)例代碼來(lái)給大家介紹如何利用node.js實(shí)現(xiàn)博客小爬蟲(chóng),有需要的朋友們可以直接運(yùn)用文中給出的實(shí)例代碼來(lái)進(jìn)行實(shí)踐學(xué)習(xí),感興趣的朋友們下面來(lái)一起看看吧。2016-10-10node.js中的fs.readFileSync方法使用說(shuō)明
這篇文章主要介紹了node.js中的fs.readFileSync方法使用說(shuō)明,本文介紹了fs.readFileSync的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12node.js使用express-fileupload中間件實(shí)現(xiàn)文件上傳
本文使用express作為服務(wù)端,使用express-fileupload庫(kù)提供的中間件函數(shù)來(lái)接受從客戶端傳來(lái)的圖片,并將圖片作為文件存儲(chǔ)在服務(wù)端,感興趣的可以了解一下2021-07-07基于NodeJS+MongoDB+AngularJS+Bootstrap開(kāi)發(fā)書(shū)店案例分析
這章的目的是為了把前面所學(xué)習(xí)的內(nèi)容整合一下,這個(gè)示例完成一個(gè)簡(jiǎn)單圖書(shū)管理模塊,因?yàn)橹虚g需要使用到Bootstrap這里先介紹Bootstrap2017-01-01使用node.js對(duì)音視頻文件加密的實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了使用node.js對(duì)音視頻文件加密的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-08-08node.js中的path.extname方法使用說(shuō)明
這篇文章主要介紹了node.js中的path.extname方法使用說(shuō)明,本文介紹了path.extname的方法說(shuō)明、語(yǔ)法、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12