ECONNREFUSED 错误尝试连接到数据库 [discord.js, mysql, phpmyadmin]

时间:2021-02-18 18:33:52

标签: javascript mysql discord.js

我在将 discord bot (discord.js) 连接到 phpmyadmin 数据库时遇到了严重问题。这一切都始于我想在与机器人相同的 vps 上安装数据库的事实。我根据本指南安装了 phpmyadmin 数据库 -> https://www.youtube.com/watch?v=O_30P7up2jA。现在是的,在托管 vps 页面上,我使用端口 3306 向防火墙添加了两个 TCP 和 UDP 规则。我的代码如下所示:

console.log("Log")
var con = createConnection({
  host: "46.41.xxx.68",
  user: "bot",
  password: "xxxxxxxxx",
  database: "commands",
})

console.log("Log")

con.connect(err => {
  if(err) console.log(err)
})

console.log("Log")

con.query("SELECT * FROM useCommands", (err, rows) => {
  console.log("Log")
  if(err) console.log(err)

  let sql

  const numberToAdd = parseInt(1)

  if(rows.length < 1) {
    sql = "INSERT INTO useCommands (commands) VALUES ("+numberToAdd+")"
  }else{
    let number = rows[0].commands
    const addNumber = number + 1
    sql = "UPDATE useCommands SET commands = "+addNumber+""
  }

  con.query(sql)
  con.end()

  dataBaseTable.setHeading("DATABASE")
  dataBaseTable.addRow(chalk.bold.greenBright("MYSQL")+chalk.white(" |---| Connect to database ")+chalk.bold.hex("#f57f17")(host))
  dataBaseTable.addRow("Command execution has been registered. Adding to database...")
  dataBaseTable.addRow(chalk.greenBright("useCommands")+chalk.white(" column data updated"))
  dataBaseTable.addRow(chalk.bold.redBright("MYSQL")+chalk.white(" |---| Disconnected from the database"))
  console.log(dataBaseTable.toString())
  dataBaseTable.clear()

})

为了调查这个问题,我让我收到了到控制台的消息:

console.log("Log")

我得到 3 个日志结果,但没有得到 4 个:

log
log
log
???

从那以后,我再也没有关于数据库的消息:

con.query("SELECT * FROM useCommands", (err, rows) => {
  console.log("Log") // <- lack
  if(err) console.log(err)

在 +/- 3 秒后,我只从控制台收到这样的错误:

Error: connect ECONNREFUSED 46.41.xxx.68:3306
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)
--------------------
at Protocol._enqueue (C:\Users\olios\Desktop\Moje rzeczy\Avi\Boty\AVI BOT\node_modules\mysql\lib\protocol\Protocol.js:144:48)
at Protocol.handshake (C:\Users\olios\Desktop\Moje rzeczy\Avi\Boty\AVI BOT\node_modules\mysql\lib\protocol\Protocol.js:51:23)
at Connection.connect (C:\Users\olios\Desktop\Moje rzeczy\Avi\Boty\AVI BOT\node_modules\mysql\lib\Connection.js:116:18)
at Object.run (C:\Users\olios\Desktop\Moje rzeczy\Avi\Boty\AVI BOT\src\commands\log.js:23:9)
at Client.<anonymous> (C:\Users\olios\Desktop\Moje rzeczy\Avi\Boty\AVI BOT\src\handlers\command.handler.js:176:11)
at Client.emit (events.js:327:22)
at MessageCreateAction.handle (C:\Users\olios\Desktop\Moje rzeczy\Avi\Boty\AVI BOT\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\olios\Desktop\Moje rzeczy\Avi\Boty\AVI BOT\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\olios\Desktop\Moje rzeczy\Avi\Boty\AVI BOT\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (C:\Users\olios\Desktop\Moje rzeczy\Avi\Boty\AVI BOT\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)

信息 - 版本等: package.json

"ascii-table": "0.0.9",
"axios": "^0.21.0",
"canvas": "^2.6.1",
"chalk": "^3.0.0",
"discord-canvas": "^1.4.1",
"discord.js": "^12.5.1",
"discord.js-commando": "^0.10.0",
"forever": "^3.0.4",
"js-helpers": "github:m7rlin/js-helpers",
"js-yaml": "^3.13.1",
"moment": "^2.29.1",
"mysql": "^2.18.1",
"nodemon": "^2.0.6",
"remove-suffix": "^2.0.0",
"request": "^2.88.2"

VPS > mysql  Ver 14.14 Distrib 5.7.33, for Linux (x86_64) using  EditLine wrapper

System - Ubuntu 18.04

如果有人可以帮忙,请

0 个答案:

没有答案
相关问题