mysql - ER_ACCESS_DENIED_ERROR : When i try to connect to the database on remote server - Node. js

标签 mysql node.js database database-connection

当我尝试连接到远程服务器上的数据库时遇到问题。

我的代码:

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'
}); 

此外,请确保该端口已列入白名单并且可以通过网络访问。这是一个用于解释的小图表。

enter image description here

关于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/

相关文章:

mysql - 比较时间戳与 current_timestamp 在 mysql 中不起作用

javascript - Mongoose 中的多个 module.export

java - 如何在java数据库查询中使用不等于运算符?

mysql - 使用 GROUP_CONCAT 查询

PHP、SQL 和 JQuery 分页错误

node.js - 将 Nodejs 应用程序容器安全地链接到 Elasticsearch 容器 (Docker)

sql - 为什么数据库在更新行时执行删除和插入操作?

iOS 数据 - SQL 与 JSON - 哪种数据存储架构性能最高

mysql - 连接到 MySQL 服务器时,ODBC 驱动程序的用途是什么?

javascript - DefineCall 不是函数,sequelize 错误