#javascript #mysql #sql #node.js
Вопрос:
Проблема: Моя discord.js бот не подключается к базе данных mysql на aws. Бот размещается на replit, а также на heroku, но по какой-то причине я не могу подключиться к обоим. Я попытался подключиться к базе данных со своего ноутбука, и это сработало нормально, я даже разместил бота на своем ноутбуке, чтобы проверить, нет ли проблем с кодом, но он подключился просто отлично, он даже записал данные в базу данных.
редактировать: pw и хост написаны так, потому что это из replit, и я сохранил эти значения в .env, чтобы никто их не видел.
Ошибка: (узел 475) Необработанное предупреждение об ошибке: Ошибка: ВРЕМЯ ОЖИДАНИЯ в пуле обещаний.запрос
Вот код, который я использую:
async function connect(){
const mysql = require('mysql2/promise');
const pool = mysql.createPool({
host: process.env['host'],
user: 'admin',
password: process.env['chave'],
database: 'prdcorridas_main',
port: 3306,
waitForConnections: true,
connectionLimit: 20,
queueLimit: 0
},);
return pool;
}
connect()
async function query(query){
const conn = await connect();
return await conn.query(query);
}
module.exports = {query}
Ответ №1:
Я обнаружил проблему, это была просто человеческая ошибка, вероятно, из-за моей усталости при создании базы данных.
Решение: Я забыл указать на веб-сайте aws ip-адрес компьютера, на котором размещен бот, потому что я намеренно ограничил «доступ к доходу» только перечисленными ip-адресами.