// Новое обновление ниже
Я только что выпустил приложение для раннего альфа-тестирования, но получаю эту ошибку => address: "127.0.0.1" code: "ECONNREFUSED" errno: -111 fatal: true port: 3306 syscall: "connect"
. Я искал и обнаружил, что это связано с тем, что MySQL не разрешает подключения, кроме localhost. После повторного поиска я наткнулся на эти два учебника (1-й) (2-й), но столкнулся с некоторыми проблемами, и они все еще не работают. Мой внешний интерфейс [здесь][3], а сервер [здесь][4] (удален). После .\mysql.exe -u username -h root -p. Replace mnhs-shs.herokuapp.com
mysql: написано [Warning] Using a password on the command line interface can be insecure.
. Это не ошибка, но я все еще не могу подключиться к базе данных на сервере
Шаги, которые я сделал:
Изображение подключения к базе данных:
Я уже подключен к базе данных через
const mysql = require('mysql')
const connection = mysql.createPool({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_DATABASE,
})
module.exports = connection
.env
DB_HOST=remotemysql.com
Обновление: что мне поставить в качестве сервера? Код из этого сайт
From there, type .\mysql.exe -u username -h X.X.X.X:XXXX -p. Replace X.X.X.X:XXXX with your remote server IP address and port number (eg. 100.200.100.200:3306) and username with a MySQL username that allows remote access (such as root). Follow any additional on-screen instructions.
Я просто вставил шаг 4 сверху
@AlbertAlberto Я просто использую бесплатную удаленную службу mysql от remotemysql.com. После регистрации вы можете получить бесплатную удаленную базу данных для тестирования. Он работает на локальном хосте, но когда я его развернул, он не
Схема уже настроена и уже есть брандмауэр из 2-го туториала. Может я что-то пропустил или просто не работает. я действительно не знаю
Затем в своем приложении вы должны изменить адрес «127.0.0.1» на параметры подключения, которые выдаются в «remotemysl.com».
@AlbertAlberto Я подключен, но все равно не работает. я отредактировал вопрос
Вы перезапускали приложение?
Значение по умолчанию 127.0.0.1 все еще находится в настройках в соответствии с ошибкой. {"message":{"errno":-111,"code":"ECONREFUSED","syscall":"connect","address":"127.0.0.1","port":3306, "фатальный": правда}}
Догадаться. Для будущего себя: Это не только ошибка локального хоста. Модуля .env, gitignore и dotenv недостаточно, если вы собираетесь развернуть его на героку. Переменные конфигурации Heroku заставляют его работать, см. ссылку ниже. https://devcenter.heroku.com/articles/config-vars.
Откуда вы запускаете свой сервер MySQL? Если он находится на вашем локальном компьютере, он не может подключиться к общедоступному, если вы не используете другие инструменты, например, ngrok, чтобы открыть сервер для общего доступа.