我在VirtualBox上运行了两个独立的Ubuntu VM。我收到错误"远程数据库错误:连接ECONNREFUSED"。以下是一些背景信息:
接下来,我看到一个线程建议通过运行(netstat -ln | grep mysql)查看mySQL正在侦听的端口,我得到的结果是" unix 2 [ACC] STREAM LISTENING 1831 /var/run/mysqld/mysqld.sock"。所以,既然它说是在1831年监听,我将连接创建代码中的端口切换到下面:
qvar connection = mysql.createConnection({
host : '192.168.1.69',
port : '1831',
user : 'root',
password : 'vinson',
database : 'pilot',
stringifyObjects: 'true'
});
,我仍然遇到同样的错误。
更新我的帖子:
自从我第一次发布这篇文章以来,我已经学到了一些东西,并在此过程中取得了一些进步:
"错误:致命错误后无法将查询排入队列。"
这就是我现在所处的位置。和以前一样,对于我接下来会尝试的任何想法,我将不胜感激。谢谢你的帮助!
答案 0 :(得分:0)
好的,我弄明白了其余的问题。上面的错误(错误:致命错误后无法排队查询。)是因为我没有重新启动我的NodeJS服务器,所以它有旧的连接对象。一旦我重新启动NodeJS服务器,我就遇到了一个新错误:
ER_HOST_NOT_PRIVILEGED
我收到此错误的原因仅仅是因为对于给定的用户,MySQL必须知道该用户从哪个主机连接(因为MySQL的有效连接凭证是userId / password / host的组合)。一旦我使用适当的允许远程主机更新了我的用户帐户以进行远程连接,一切正常!