无法从Node.js应用连接远程mysql

时间:2019-08-11 09:18:15

标签: javascript mysql node.js

数据库连接可以在localhost上正常工作,但不能在远程主机上工作。我从cpanel中获得了共享IP的IP。我有什么想念的吗?

    const db = mysql.createConnection({
    host: '195.201.179.80',
    user: '****',
    password: '****',
    database: 'enamme_m-tube'
});
db.connect(function (err) {
    if (err) throw err
    console.log('Connection Established To Mysql Database')
})

注意:“我的节点”应用程序正在本地主机上运行。

错误:

Error: connect ECONNREFUSED 195.201.179.80:3306
    at Object._errnoException (util.js:992:11)
    at _exceptionWithHostPort (util.js:1014:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1186:14)

2 个答案:

答案 0 :(得分:0)

您应该在root下连接到MYSQL并发送查询:

GRANT ALL ON *.* TO <db_user>@<remote_ip> IDENTIFIED BY '<db_user_pass>';

答案 1 :(得分:0)

您的mysqld绑定了公共IP地址吗?默认情况下,mysqld将绑定到UNIX套接字。尝试将其添加到您的/etc/my.cnf

[mysqld]
bind-address = <your_public_ip>