QBCore, ESX и Qbox хранят игроков, инвентари и транспорт в базе данных MySQL/MariaDB. Её устанавливают один раз на тот же VPS, и FiveM подключается к ней через localhost.
Windows
- Скачайте установщик MariaDB в формате MSI (LTS-версию) с
mariadb.org/download. - Установите его и задайте длинный пароль root. Оставьте отмеченным пункт Install as service, чтобы MariaDB запускалась вместе с Windows.
- В комплект установщика входит HeidiSQL — программа для просмотра и редактирования базы данных в графическом интерфейсе.
Linux (Ubuntu / Debian)
apt install -y mariadb-server
mariadb-secure-installation
Ответьте на вопросы: удалите анонимных пользователей и тестовую базу данных.
Создайте базу данных и пользователя
Не используйте для FiveM пользователя root. Войдите в MariaDB (в Windows — из HeidiSQL или командой mysql -u root -p, в Linux — командой mariadb) и выполните:
CREATE DATABASE fivem CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'fivem'@'localhost' IDENTIFIED BY 'DLINNYY_PAROL';
GRANT ALL PRIVILEGES ON fivem.* TO 'fivem'@'localhost';
FLUSH PRIVILEGES;
Именно эти данные txAdmin запросит при развёртывании рецепта: база данных fivem, пользователь fivem и его пароль.
Строка подключения (oxmysql)
txAdmin сам прописывает её в ваш server.cfg. Если вы задаёте её вручную, она выглядит так:
set mysql_connection_string "mysql://fivem:DLINNYY_PAROL@localhost/fivem?charset=utf8mb4"
При этом ensure oxmysql должен стоять в порядке загрузки раньше фреймворка. Если в пароле есть символы вроде @ или #, замените его паролем без них: такие символы ломают строку подключения.
Не открывайте порт 3306
Базой данных пользуется только сервер FiveM, который работает на той же машине. Открыть порт 3306 в интернет — значит напрашиваться на атаки. Чтобы управлять базой со своего ПК, используйте HeidiSQL с опцией SSH-туннеля (в Linux) или подключайтесь по удалённому рабочему столу (в Windows).
Две самые частые ошибки
| Ошибка в консоли | Что она означает |
|---|---|
ECONNREFUSED 127.0.0.1:3306 | MariaDB не запущена. В Windows проверьте службу в services.msc, в Linux — systemctl status mariadb. |
Access denied for user | В строке подключения неправильно указаны пользователь, пароль или имя базы данных. |
И делайте резервные копии: ежедневный дамп базы данных спасёт вас, если какой-нибудь скрипт сотрёт инвентари.