当我尝试连接到远程服务器上的数据库时遇到问题。
我的代码:
const mysql = require('mysql');
const database = mysql.createPool({
host: 'localhost',
user: 'user',
password: 'pass',
database: 'db'
});
database.getConnection(function (err, connection) {
if (!err) {
console.log('Database is connected ...');
} else {
console.log('Error connecting database ...');
}
});
代码中的连接凭据是伪造的。使用我拥有的正确凭据,我可以在远程服务器上的 phpMyAdmin 上成功登录我想要连接的数据库。凭证很好。
当我运行脚本时,返回此错误: view error
此外,当我输入与本地数据库连接的凭据时,一切都很完美。
最佳答案
正如 Luuk 所指出的,您需要将 localhost
替换为远程数据库服务器的实际 IP 地址和数据库服务器运行的端口。
例如 -
const database = mysql.createPool({
host: '123.234.121.234',
port : '3306',
user: 'user',
password: 'pass',
database: 'db'
});
此外,请确保该端口已列入白名单并且可以通过网络访问。这是一个用于解释的小图表。
关于mysql - ER_ACCESS_DENIED_ERROR : When i try to connect to the database on remote server - Node. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60340114/