【问题标题】:Mysql javascript error: ECONNREFUSEDMysql javascript错误:ECONNREFUSED
【发布时间】:2018-07-10 17:30:11
【问题描述】:

所以我正在尝试编写一个 discord.js 机器人!我应该将通道中发送的所有消息记录到 mysql 的不和谐机器人。我在互联网上搜索过,但没有找到解决我的问题的方法。 前任。 node.js mysql error: ECONNREFUSED

但是当我尝试连接mysql时遇到了这个错误:

Error: connect ECONNREFUSED 127.0.0.1:3306
    at Object._errnoException (util.js:1022:11)
    at _exceptionWithHostPort (util.js:1044:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1182:14)
    --------------------
    at Protocol._enqueue (P:\home\pi\Documents\MineCityBot\node_modules\mysql\lib\protocol\Protocol.js:145:48)
    at Protocol.handshake (P:\home\pi\Documents\MineCityBot\node_modules\mysql\lib\protocol\Protocol.js:52:23)
    at Connection.connect (P:\home\pi\Documents\MineCityBot\node_modules\mysql\lib\Connection.js:130:18)
    at Object.<anonymous> (P:\home\pi\Documents\MineCityBot\index.js:15:5)
    at Module._compile (module.js:643:30)
    at Object.Module._extensions..js (module.js:654:10)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Function.Module.runMain (module.js:684:10)

这是我的代码:

const Discord = require("discord.js");
const client = new Discord.Client();
const fs = require("fs");
const config = require("./config.json");
const mysql = require('mysql');

var con = mysql.createConnection({
  port: '3306',
  host: config.host,
  user: config.user,
  password: config.password,
  database: config.database
});

con.connect(err => {
    if(err) throw err;
    console.log('Mysql connected')
});

console.log(config.StartupMessage)

client.on("message", message => {
  if(message.author.bot) return;

  if(message.channel.id == config.LogChannelId)  {
  var Attachment = (message.attachments).array()
  var sql = "INSERT INTO " + config.Table + " (" + config.ColumnName + ", " + config.ColumnMessage + ", " + config.ComumnAttachment + ") VALUES (" + message.author.tag + ", " + message + ", " + message.attachments + ")"
   con.query(sql, function (err, result) {
      if (err) return console.log(err);
      console.log("1 record inserted");
    })
    console.log(sql)
  };
});
client.login(config.token); 

更新

config.json 文件:

{
"token":"bot token",
"LogChannelId":"405382594645983233",
"StartupMessage":"Bot has started",

"host":"localhost",
"user":"root",
"password":"password",
"database":"PinkCraft",

"Table":"log",
"ColumnName":"Name",
"ColumnMessage":"Message",
"ColumnId":"id",
"ComumnAttachment":"attachment"
}

我正在使用service mysql start 启动mysql。

【问题讨论】:

  • mysql 运行了吗?
  • 它没有连接到 mysql,& 可能有很多原因,只有你才能找到。 MYSQL 是否在同一台机器上运行,是否有一些防火墙阻止了您的应用程序。如链接所示,如果您 telnet 到主机端口,会发生什么。这里确实没有足够的信息来提供帮助。
  • @PhillipThomas 是的 mysql 正在运行
  • @Keith 我在故障排除方面经验不足:/ 我还能提供什么来使它更容易?
  • 您提供的链接建议运行命令 telnet localhost 3306 以验证 mysql 在预期端口上本地运行。该命令响应什么?

标签: javascript mysql discord.js


【解决方案1】:

这是我的错…… 问题是我通过 samba 通过 Visual Studio Code 运行节点到我的 rpi。当我直接从 pi 运行节点时,它起作用了!

【讨论】:

    猜你喜欢
    • 2014-02-08
    • 2015-07-27
    • 2014-05-20
    • 2020-04-30
    • 2019-10-08
    • 2015-12-23
    • 1970-01-01
    • 2020-10-29
    • 2018-05-08
    相关资源
    最近更新 更多