I am trying to run a query from server to another server to get a mysql query result.
app.post("/sampleapigettabledata", (req, res) => {
var connection;
try {
let { data, database } = req.body;
ssh.on('ready', function () {
ssh.forwardOut(
'127.0.0.1',
12345,
'127.0.0.1',
3306,
function (err, stream) {
if (err) {
return res.status(500).json({message: err.message});
} else {
connection = mysql.createConnection({
user: 'root',
password: 'sqlpassword',
stream: stream,
multipleStatements: true
});
}
connection.connect(function (error) {
if (err) {
return res.status(500).json({message: err.message});
}
});
connection.query("USE " + database + "; " + data.join(" "), function (err, results, fields) {
if (err) {
return res.status(500).json({message: err.message});
}
return res.status(200).json(results);
});
});
}).connect({
host: '11.11.11.11',
port: 22,
username: 'root',
password: 'samplepass'
});
} catch (err) {
res.status(500).json({message: err.message});
}
});
So when I first request this api it works, it gives me the table results but when I run it again, the error in screenshot shows up. I’ve tried many solutions from searching but none of those have same case like me that I run mysql inside SSH connection.