Попробуйте это, это может помочь
Я использую этот пакет npm mysql с помощью этой команды
npm i --save mysql
Я думаю, либоу вас есть локальный пользователь и удаленный пользователь, или у вас не запущен экземпляр mysql.Убедитесь, что у вас есть локальный пользователь, к которому вы обращаетесь в скрипте nodejs, вы можете воспользоваться справкой по здесь и проверить соединение с помощью this .
const MySQL_DB = require( "mysql" );
let DB_Pool = MySQL_DB.createPool( {
connectionLimit: 15,
multipleStatements: true,
host: "localhost",
user: "root",
password: "abcdefgh",
database: "working_db",
port: "3306"
} );
function GetDatabaseResponse( query ) {
return new Promise( ( resolve, reject ) => {
DB_Pool.getConnection( ( ConnectionErrorMessage, DB_LocalConnection ) => {
if ( ConnectionErrorMessage ) {
console.log( "DataBase Connection Failed" );
console.log( ConnectionErrorMessage );
resolve( ConnectionErrorMessage );
return;
} else {
DB_LocalConnection.query( query, ( ProcedureErrorMessage, ProcedureCallResult ) => {
DB_LocalConnection.release();
if ( ProcedureErrorMessage ) {
console.log( "DataBase Query Execution Failed" );
console.log( DB_ProcedureCall );
console.log( ProcedureErrorMessage );
resolve( ProcedureErrorMessage );
return;
} else {
resolve( ProcedureCallResult );
return;
}
} );
}
} );
} );
}
( async () => {
let query = 'SELECT * FROM levels';
let Result = await GetDatabaseResponse( query );
console.log( Result );
} )();
Вот ваша реализация кода, она отлично работает на моей стороне.
databaseFile.js
const mysql = require( "mysql" );
var pool = mysql.createPool({
connectionLimit: 15,
multipleStatements: true,
host: "localhost",
user: "root",
password: "abcdefgh",
database: "working_db",
port: "3306"
});
module.exports =( query, callback) => {
pool.getConnection((err, connection) => {
if (err) {
console.log(err);
connection.release();
callback(err.code, null);
}
console.log("connected");
connection.query(query, (err, results) => {
connection.release();
if (!err) {
callback(null, results);
}
else {
callback(err.code, null);
}
});
connection.on('error',(err) => {
connection.release();
callback(err.code, null);
});
});
}
index.js
let GetBataBaseResponse = require("./databaseFile");
GetBataBaseResponse("Select * from tblagents",(error, result) => {
console.log("error",error);
console.log("result",result);
});
Если у вас все еще есть проблема, сообщите мне.