// ssd vps

Как установить и настроить MariaDB на VPS Linux: полное руководство

August 21, 2026 · by Alex M.

Как установить и настроить MariaDB на VPS Linux: полное руководство

MariaDB — один из самых популярных движков реляционных баз данных с открытым исходным кодом. Полностью совместимый с MySQL, он стал стандартом де-факто на большинстве современных Linux-дистрибутивов. Если у вас есть VPS SSD или VPS NVMe и вы планируете запускать веб-приложения, CMS или интернет-магазины — правильная установка MariaDB является ключевым шагом.

В этом руководстве мы разберём установку, защиту, настройку и оптимизацию MariaDB на Ubuntu 22.04 LTS с нуля.


Почему MariaDB, а не MySQL?

MariaDB появился как форк MySQL после его приобретения Oracle. Основные преимущества:

  • Улучшенный оптимизатор запросов и более высокая производительность
  • Дополнительные движки хранилища: Aria, ColumnStore, Spider
  • Регулярные обновления и активное сообщество разработчиков
  • Полная совместимость с MySQL — существующие приложения мигрируют без изменений
  • 100% open-source лицензия (GPL) без коммерческих ограничений

WordPress, Joomla, Magento, Laravel и большинство других платформ работают с MariaDB без дополнительной настройки.


Предварительные требования

Перед началом убедитесь, что у вас есть:

  • VPS с Ubuntu 22.04 LTS (рекомендуем VPS NVMe для высокой скорости I/O)
  • Доступ root или пользователь с правами sudo
  • Активное SSH-подключение к серверу
  • Обновлённые системные пакеты

Обновите систему перед установкой:

sudo apt update && sudo apt upgrade -y

Шаг 1: Установка MariaDB

На Ubuntu 22.04 MariaDB доступен прямо из официальных репозиториев:

sudo apt install mariadb-server mariadb-client -y

Запустите сервис и добавьте его в автозагрузку:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Проверьте статус:

sudo systemctl status mariadb

В выводе должно быть Active: active (running).


Шаг 2: Защита установки с помощью mysql_secure_installation

Сразу после установки запустите скрипт безопасности. Он удаляет анонимных пользователей, отключает удалённый вход root и удаляет тестовые базы данных:

sudo mysql_secure_installation

Рекомендуемые ответы на каждый вопрос:

Вопрос Рекомендуемый ответ
Switch to unix_socket authentication? N (если нужна парольная аутентификация)
Change the root password? Y — задайте надёжный пароль
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database? Y
Reload privilege tables? Y

⚠️ Важно: Для веб-приложений используйте отдельного пользователя БД, а не root.


Шаг 3: Вход в MariaDB

После защиты подключитесь к консоли MariaDB:

sudo mysql -u root -p

Или через socket-аутентификацию (по умолчанию на Ubuntu):

sudo mysql

Вы увидите приглашение MariaDB [(none)]>.


Шаг 4: Создание пользователя и базы данных

Никогда не используйте аккаунт root для приложений. Создайте отдельного пользователя:

-- Создайте базу данных
CREATE DATABASE myapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Создайте пользователя
CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'НадёжныйПароль123!';

-- Назначьте привилегии
GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'localhost';

-- Примените изменения
FLUSH PRIVILEGES;

Всегда используйте utf8mb4 вместо utf8 — он поддерживает полный Unicode, включая эмодзи.


Шаг 5: Оптимизация MariaDB для производительности

Основной файл конфигурации находится по адресу /etc/mysql/mariadb.conf.d/50-server.cnf. Откройте его:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Ключевые параметры для оптимизации

[mysqld]

# Объём памяти для кэша InnoDB (50–70% доступной RAM)
innodb_buffer_pool_size = 512M

# Количество экземпляров пула (1 на каждый 1 ГБ)
innodb_buffer_pool_instances = 1

# Размер лога транзакций — чем больше, тем быстрее запись
innodb_log_file_size = 128M

# Кэш повторяющихся запросов
query_cache_type = 1
query_cache_size = 64M
query_cache_limit = 2M

# Максимальное количество одновременных подключений
max_connections = 150

# Кэш потоков
thread_cache_size = 8

# Таймаут неактивных подключений
wait_timeout = 300
interactive_timeout = 300

# Кодировка по умолчанию
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

💡 Совет: На VPS с 2 ГБ RAM установите innodb_buffer_pool_size = 512M. На VPS с 4 ГБ — можно увеличить до 1–2 ГБ.

После изменений перезапустите MariaDB:

sudo systemctl restart mariadb

Шаг 6: Настройка удалённого доступа (опционально)

По умолчанию MariaDB слушает только 127.0.0.1. Для удалённого доступа измените конфигурацию:

bind-address = 0.0.0.0

Затем создайте пользователя с доступом с конкретного IP:

CREATE USER 'remote_user'@'192.168.1.100' IDENTIFIED BY 'НадёжныйПароль!';
GRANT ALL PRIVILEGES ON myapp_db.* TO 'remote_user'@'192.168.1.100';
FLUSH PRIVILEGES;

Разрешите порт 3306 только для доверенных IP через UFW:

sudo ufw allow from 192.168.1.100 to any port 3306

Подробнее о настройке брандмауэра на VPS читайте в блоге CLIQHOST.


Шаг 7: Автоматическое резервное копирование

Резервные копии критически важны. Создайте простой скрипт на базе mysqldump:

sudo nano /usr/local/bin/backup-mariadb.sh
#!/bin/bash
DATE=$(date +%Y-%m-%d_%H-%M)
BACKUP_DIR="/var/backups/mariadb"
DB_USER="root"
DB_PASS="ваш_root_пароль"

mkdir -p $BACKUP_DIR

mysqldump -u $DB_USER -p$DB_PASS --all-databases | gzip > $BACKUP_DIR/all-databases_$DATE.sql.gz

# Удаление бэкапов старше 7 дней
find $BACKUP_DIR -name "*.sql.gz" -mtime +7 -delete

echo "Резервная копия создана: $BACKUP_DIR/all-databases_$DATE.sql.gz"
sudo chmod +x /usr/local/bin/backup-mariadb.sh

Добавьте в crontab для ежедневного запуска в 02:00:

sudo crontab -e
0 2 * * * /usr/local/bin/backup-mariadb.sh >> /var/log/mariadb-backup.log 2>&1

Шаг 8: Мониторинг и диагностика

Проверка системных переменных

SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW VARIABLES LIKE 'max_connections';
SHOW STATUS LIKE 'Threads_connected';

Выявление медленных запросов

Включите лог медленных запросов в конфигурации:

slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-queries.log
long_query_time = 2

Анализируйте лог с помощью:

mysqldumpslow -s t /var/log/mysql/slow-queries.log | head -20

Статус движка InnoDB

SHOW ENGINE INNODB STATUS\G

Решение типичных проблем

MariaDB не запускается после изменений конфигурации:

sudo journalctl -u mariadb -n 50

Проверьте синтаксические ошибки в файле .cnf.

Ошибка «Too many connections»: Увеличьте max_connections и убедитесь, что приложение корректно закрывает соединения.

Маленький buffer pool: Если innodb_buffer_pool_reads велико относительно innodb_buffer_pool_read_requests — увеличьте innodb_buffer_pool_size.


Заключение

MariaDB — надёжный и производительный движок баз данных, идеально подходящий для любого современного веб-приложения. Правильная установка, немедленная защита и оптимизация параметров InnoDB — это разница между медленным сервером и системой, которая уверенно справляется с нагрузкой.

Если вам нужна прочная основа для ваших проектов, VPS NVMe от CLIQHOST обеспечивает исключительную скорость I/O — именно то, что нужно MariaDB для максимальной производительности. Если вы предпочитаете управляемую среду без необходимости самостоятельной настройки, наша команда администрирования серверов готова помочь.

Есть вопросы или нужна помощь с выбором плана? Свяжитесь с нами — мы ответим быстро.

SHARE
// Что говорят наши клиенты

Что говорят наши клиенты

Реальные отзывы клиентов, которые доверяют CLIQHOST за производительность, надёжность и профессиональную техническую поддержку.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău