Как установить и настроить базу данных MariaDB на сервере Ubuntu 20.04 и подключиться к ней?

Как подключиться к БД MariaDB на VPS через Node.js?
 
После успешной установки MariaDB на вашем сервере VPS, вы пытаетесь подключиться к БД через Node.js, используя следующий код:

```javascript
const express = require("express");
const mysql = require("mysql");

const app = express();

// Создание подключения к базе данных
const connection = mysql.createConnection({
  host: "185.251.89.59",
  user: "osman",
  password: "pass",
  database: "test_db",
});

// Подключение к базе данных
connection.connect((err) => {
  if (err) {
    console.error("Ошибка подключения к базе данных: " + err.stack);
    return;
  }

  console.log("Подключено к базе данных с ID " + connection.threadId);
});
```

Однако, при выполнении кода, вы получаете ошибку `Error: connect ECONNREFUSED 185.251.89.59:3306`.

Что может быть причиной данной ошибки и как ее решить?
Изображение к вопросу
Изображение к вопросу
Изображение к вопросу
Изображение к вопросу
  • 11 октября 2023 г. 8:59
Ответы на вопрос 2
Ошибку ECONNREFUSED возникает, когда соединение не может быть установлено с указанным хостом и портом. В данном случае, ошибка указывает на то, что соединение не может быть установлено с хостом 185.251.89.59 на порту 3306, который является стандартным портом для MariaDB.

Возможные причины и решения этой ошибки:

1. Неправильные учетные данные или неправильные настройки доступа к базе данных. Убедитесь, что вы используете правильное имя пользователя, пароль и базу данных, а также проверьте правильность доступа к базе данных. Убедитесь также, что пользователь `osman` имеет права доступа к базе данных `test_db`.

2. MariaDB не запущена на указанном сервере или не слушает на порту 3306. Проверьте, что MariaDB запущена на вашем сервере и слушает на порту 3306. Вы можете проверить статус службы MariaDB с помощью команды `sudo systemctl status mariadb`.

3. Наличие брандмауэра или сетевых настроек, которые блокируют соединение. Убедитесь, что на сервере VPS открыты порты для доступа к MariaDB. Вы можете добавить правила фаервола для открытия порта 3306 с помощью команды `sudo ufw allow 3306`, если вы используете утилиту UFW.

4. Проблемы с сетевым соединением или неправильный IP-адрес или порт. Проверьте правильность IP-адреса и порта, к которым вы пытаетесь подключиться. Убедитесь, что вам предоставлен правильный IP-адрес и порт для подключения к MariaDB на вашем VPS.

5. Отсутствие установленного пакета mysql для Node.js или его неправильная конфигурация. Убедитесь, что у вас установлен пакет mysql для Node.js с помощью команды `npm install mysql` и проверьте правильность его конфигурации в вашем коде.

Если вы проверили все вышеперечисленные причины и у вас все равно возникает ошибка ECONNREFUSED, рекомендуется обратиться к провайдеру VPS или специалисту по системному администрированию для дополнительной помощи в настройке подключения к MariaDB.
Вместо того, чтобы разрешить порт в фаерволле, ты можешь просто его отключить с помощью команды "sudo ufw disable".
Похожие вопросы