最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nodejs?連接?mysql時(shí)報(bào)Error:?Cannot?enqueue?Query?after?fatal?error錯(cuò)誤的處理辦法

 更新時(shí)間:2023年05月12日 10:05:24   作者:北漂燕郊楊哥  
這篇文章主要介紹了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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

旅游| 郧西县| 榆社县| 辰溪县| 鹰潭市| 伊宁县| 新绛县| 白山市| 肃南| 汝阳县| 白银市| 修水县| 高州市| 奇台县| 镇原县| 浦县| 陕西省| 佛坪县| 云浮市| 泰和县| 延庆县| 胶州市| 青海省| 万盛区| 兴山县| 阳城县| 平江县| 清河县| 南江县| 乐都县| 桓仁| 祁阳县| 曲水县| 南漳县| 宜兰县| 壤塘县| 凤翔县| 龙陵县| 乡宁县| 沂源县| 西平县|