gpt4 book ai didi

在 discord bot 开启约 12 小时后 MySQL 会自行关闭

转载 作者:行者123 更新时间:2023-12-04 19:07:55 25 4
gpt4 key购买 nike

我在 ubuntu VPS 上托管了一个 discord.js 机器人,该机器人使用 MySQL 作为其数据库。我打开机器人,然后离开它,它工作正常,但大约 12 小时后(它往往会有所不同),机器人因为错误而离线,说 MySQL 服务器已断开连接。但是,如果我重新启动机器人,MySQL 会重新打开,并且需要数据库的机器人部分可以完美地使用数据库。我不确定这是否是 MySQL、Node.JS 或 Ubuntu 的错误,但我不知道如何修复它。谢谢!

最佳答案

当我开始使用 MySQL 时,我遇到了类似的问题。问题是您的机器人在遇到连接超时时会崩溃。 MySQL 服务器不会离线,只是您与它的连接会。这意味着当您重新启动机器人时,它会重新连接并且一切正常。
我遇到了两种解决必须手动重新启动机器人的问题的方法。

  • 设置您的机器人,使其在遇到严重错误时自动重新启动。 (不是最好的选择,但如果你想这样做,它会起作用)
  • 创建连接池。

  • 这是迄今为止更好的选择。它将创建一个准备就绪的连接池。当您需要连接时,它会为您提供一个连接,并在您完成后释放它。这样你的连接就不会超时。
    它是这样工作的:
    const mysql = require('mysql');

    var db_config = {
    user: 'root',
    password: 'Your password',
    database: 'Your database',
    // etc
    };

    var con = mysql.createPool(db_config);

    con.getConnection(function(err, con) {
    if (err) {
    connection.release();
    console.log(' Error getting mysql_pool connection: ' + err);
    throw err;
    }
    console.log('Connected to Database');
    });

    关于在 discord bot 开启约 12 小时后 MySQL 会自行关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64331441/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com