Гид по технологиям

Установка и настройка MariaDB на Debian 11

• 8 min read • Базы данных • Обновлено 25 Nov 2025
MariaDB на Debian 11 — установка и защита
MariaDB на Debian 11 — установка и защита

Коротко: В этом руководстве описаны шаги по установке, запуску, базовой защите и проверке работоспособности MariaDB на Debian 11. Приведены команды, чек-листы ролей, советы по миграции и устранению неполадок.

Что такое MariaDB и почему её выбирают

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

История: оригинальные разработчики MySQL создали MariaDB в 2009 году как fork после опасений, связанных с приобретением MySQL компанией Oracle. Название «MariaDB» происходит от имени дочери одного из сооснователей, Марии.

Технологии: MariaDB в основном написана на C/C++, критичные участки для оптимизации иногда содержат код на ассемблере, а парсер запросов использует привычный диалект SQL, совместимый с процедурными языками (Perl, Python) для доступа к денормализованным данным.

Производительность: в ряде тестов MariaDB показала улучшение скорости по сравнению с MySQL. Эти тесты демонстрировали преимущество на разных объёмах данных, но итог зависит от рабочей нагрузки — рекомендуется провести пилот на вашем окружении перед переводом в прод.


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

Перед установкой MariaDB на Debian 11 убедитесь, что у вас есть:

  • Сервер с Debian 11.
  • Root-доступ или пользователь с sudo.
  • Минимальные аппаратные требования: 1 логическое ядро CPU, 512 МБ RAM и ~1 ГБ дискового пространства достаточно для минимальной установки и тестовой базы. Для продакшена требования выше — планируйте исходя из объёма данных и нагрузки.

Обновление системы

Важно поддерживать систему в актуальном состоянии. Обновления могут содержать исправления безопасности и улучшения стабильности.

Выполните команды:

sudo apt-get update && sudo apt-get upgrade -y

Установите дополнительные пакеты, которые понадобятся для работы с репозиториями и для загрузки ключей:

sudo apt-get install software-properties-common dirmngr gnupg2 -y
sudo apt-get install apt-transport-https wget curl -y

Установка MariaDB из репозиториев Debian

Обычно проще и безопаснее установить MariaDB из официальных репозиториев Debian. Однако официальный репозиторий может не содержать самую новую версию MariaDB. Чтобы просмотреть доступные пакеты, выполните:

sudo apt search mariadb

Вы увидите список пакетов — сервер, клиент, утилиты администрирования и дополнительные модули.

Список пакетов MariaDB в репозитории

Установите сервер MariaDB:

sudo apt-get install mariadb-server -y

Проверьте версию MariaDB:

mariadb --version

Запуск, остановка и перезапуск сервиса:

sudo systemctl start mariadb
sudo systemctl stop mariadb
sudo systemctl restart mariadb

Чтобы включить автоматический запуск при загрузке:

sudo systemctl enable mariadb

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

sudo systemctl status mariadb

Команда покажет статус сервиса и PID процесса.

Пример вывода статуса сервиса:

Статус службы MariaDB после установки

Для дополнительной проверки можно использовать инструмент mysqladmin — клиентскую утилиту для административных задач.

sudo mysqladmin version

Пример вывода с информацией о версии и времени работы сервера:

Вывод mysqladmin version

Базовая защита сервера MariaDB

После установки стандартные настройки небезопасны. Используйте встроенный скрипт для базовой «закрутки гаек» безопасности.

Запустите:

sudo /usr/bin/mysql_secure_installation

Скрипт предложит задать пароль root для MariaDB, удалить анонимных пользователей, отключить удалённый вход для root и удалить тестовую базу. При первом запуске оставьте пароль пустым если такой сценарий предусмотрен, или задайте надёжный пароль. Во многих сценариях нужно выбирать «Y» на предлагаемые вопросы, если вы хотите повысить безопасность.

Пример диалога после запуска скрипта:

Диалог mysql_secure_installation

Важно: фиксируйте пароль root в надёжном хранилище (например, менеджер паролей) и не использовать лёгкие пароли в продакшене.

Доступ к серверу MariaDB

Войдите в сервер MariaDB как root (после выполнения mysql_secure_installation используйте пароль, который вы задали):

mysql -u root -p

После входа вы попадёте в prompt MariaDB:

MariaDB> — тут можно выполнять SQL-запросы и административные команды.

Для выхода используйте:

quit;

или

exit;

Создание нового административного пользователя

Создайте отдельного административного пользователя вместо использования root для повседневных задач.

Пример создания пользователя howtoforge с паролем password123 (замените на свои значения):

GRANT ALL ON *.* TO 'howtoforge'@'localhost' IDENTIFIED BY 'password123' WITH GRANT OPTION;

Загрузите таблицу привилегий:

FLUSH PRIVILEGES;

Проверьте вход под новой учётной записью, выйдя из текущего сеанса:

exit;
mysql -u howtoforge -p

Введите пароль и убедитесь, что вы можете выполнять необходимые административные операции.

Пример интерфейса при входе под новым пользователем:

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

Рекомендации по настройке и производительности

Ниже — сборник практических советов по базовой настройке производительности. Это не исчерпывающий список, но полезная отправная точка.

  • Параметры в /etc/mysql/my.cnf и включаемые файлы в /etc/mysql/conf.d/ и /etc/mysql/mariadb.conf.d/ влияют на работу сервера.
  • Для маленьких систем уменьшите значение innodb_buffer_pool_size (например, 128M–512M) — для больших серверов выделите 60–80% доступной RAM для InnoDB.
  • max_connections нужно выставлять с учётом объёма памяти и типов запросов; при росте подключений увеличивайте значения буферов аккуратно.
  • Для аналитических нагрузок рассмотрите движки хранения MariaDB ColumnStore или использование внешних аналитических хранилищ.
  • Включите slow query log для выявления медленных запросов и оптимизируйте индексы.

Пример включения slow query log в конфигурации:

[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
log_queries_not_using_indexes = 1

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

sudo systemctl restart mariadb

Безопасность и жёсткие настройки

Базовые шаги по усилению безопасности MariaDB:

  • Запретите удалённый доступ к root: проверьте, что root привязан к ‘localhost’.
  • Применяйте принцип наименьших привилегий: создавайте учётные записи с минимально необходимыми правами.
  • Используйте хостовые ограничения (‘user’@’host’) и ограничьте доступ IP-фильтрами на уровне сети/фаервола.
  • Шифрование трафика: включите TLS/SSL на сервере и на клиентах.
  • Резервные копии: настраивайте регулярные бэкапы (mysqldump, mariabackup, lvm-snapshots) и проверяйте восстановление.
  • Мониторинг: настраивайте метрики (uptime, QPS, buffer pool usage, slow queries) и алерты.

Пример включения TLS (в конфиге укажите пути к сертификатам):

[mysqld]
ssl-ca=/etc/mysql/ssl/ca.pem
ssl-cert=/etc/mysql/ssl/server-cert.pem
ssl-key=/etc/mysql/ssl/server-key.pem

Миграция с MySQL: когда это выгодно и на что обратить внимание

Когда MariaDB подходит для замены MySQL:

  • Если нужна более активная разработка движков и расширений.
  • Когда присутствует функциональность MariaDB, отсутствующая в вашей версии MySQL.
  • Если вы хотите использовать специфику MariaDB (новые функции оптимизации, storage engines).

Когда миграция может не подойти:

  • Если вы используете специфичные проприетарные расширения Oracle MySQL или решения, завязанные на конкретную версию MySQL.
  • Если у вас критически важное ПО, которое тестировалось только с конкретной версией MySQL — в этом случае требуется тщательное тестирование.

План миграции — простая методология:

  1. Оцените несовместимости SQL и функциональности.
  2. Подготовьте тестовую среду, воспроизводящую продакшен.
  3. Экспортируйте структуру и данные (mysqldump, mariadb-dump, или репликация).
  4. Восстановите в тестовой среде и выполните тесты интеграции и производительности.
  5. Переключение: либо с остановкой сервиса, либо через репликацию и переключение ролей.

Чек-листы по ролям

Администратор системы:

  • Обновить OS и установить зависимости.
  • Убедиться в наличии резервного копирования и планов восстановления.
  • Настроить сервис systemd и мониторинг.

Инженер базы данных (DBA):

  • Настроить параметры InnoDB и кэширования.
  • Провести аудит индексов и оптимизацию запросов.
  • Настроить логирование медленных запросов и сбор метрик.

Разработчик приложения:

  • Тестировать SQL-запросы на тестовой инстанции MariaDB.
  • Проверить совместимость с используемыми библиотеками/ORM.
  • Не хранить чувствительные данные в открытом виде; использовать шифрование на уровне приложения при необходимости.

SOP: быстрая инструкция по установке и базовой проверке (шаг за шагом)

  1. Обновите сервер: sudo apt-get update && sudo apt-get upgrade -y.
  2. Установите зависимости: см. выше.
  3. Установите MariaDB: sudo apt-get install mariadb-server -y.
  4. Запустите службу: sudo systemctl start mariadb.
  5. Проверка статуса: sudo systemctl status mariadb.
  6. Запустите безопасность: sudo /usr/bin/mysql_secure_installation.
  7. Создайте административного пользователя и протестируйте вход.
  8. Настройте бэкап и мониторинг.

Критерии приёмки

  • Сервис запущен и отвечает на запросы.
  • Пользователь с привилегиями может выполнять административные операции.
  • Проведено тестовое восстановление из резервной копии.

Устранение неполадок и откат изменений

Типичные проблемы и шаги диагностики:

  • Сервис не запускается: sudo journalctl -u mariadb -b; проверьте /var/log/mysql/error.log.
  • Ошибка доступа (Access denied): проверьте правильность учётных данных и хостов в таблице user.
  • Недостаток памяти: уменьшите буферы или добавьте оперативную память.

Откат при проблемах после изменения конфигурации:

  1. Восстановите резервную копию конфигурационных файлов из /etc/mysql/backup/*.conf.
  2. Перезапустите сервис: sudo systemctl restart mariadb.
  3. Если проблема сохраняется, временно верните старую версию пакета (если доступна) или восстановите данные из бэкапа.

Тестовые случаи и критерии приёмки

  • Установка: пакет mariadb-server установлен без ошибок.
  • Запуск: systemctl status mariadb показывает active (running).
  • Вход: mysql -u root -p возвращает приглашение MariaDB>.
  • Создание пользователя: новый пользователь может подключаться и выполнять операции, ограниченные назначенными правами.
  • Резервное копирование/восстановление: дамп успешно экспортируется и импортируется в тестовую базу.

Краткая справочная таблица совместимости и миграции

  • Клиентские протоколы: MariaDB совместима с большинством клиентов MySQL, но специфические плагины могут быть несовместимы.
  • Формат файлов данных: InnoDB файлы совместимы, но рекомендуется тестировать на копии данных.
  • Репликация: MariaDB поддерживает репликацию с MySQL в большинстве конфигураций, однако при смешивании версий требуется внимание к несовместимым функциям.

Глоссарий (одной строкой)

  • InnoDB — стандартный высоконадежный движок хранения для транзакций.
  • mysql_secure_installation — скрипт базовой «закрутки гаек» безопасности MariaDB.
  • mysqladmin — клиент для административных задач.

Факты и рекомендуемые значения

  • Минимальные аппаратные требования: 1 CPU, 512 МБ RAM, ~1 ГБ диска для тестовой установки.
  • Рекомендуемый размер innodb_buffer_pool_size: для продакшена — 60–80% от доступной RAM (если сервер используется только для MariaDB).

Контрольный список перед переводом на прод

  • Проведено тестирование совместимости приложений.
  • Настроено безопасное хранение паролей и доступов.
  • Настроены бэкапы и проверено восстановление.
  • Настроен мониторинг и оповещения.
  • Проведено стресс-тестирование и тесты медленных запросов.

Заключение

В этом материале вы узнали, как установить MariaDB на Debian 11, выполнить базовую настройку и защиту, создать администратора, проверить работоспособность и подготовиться к миграции из MySQL. MariaDB — достойная альтернатива MySQL с рядом дополнительных возможностей и движков хранения. Перед переводом в продакшен обязательно проведите тестирование ваших рабочих нагрузок.

Важно: не забывайте о регулярном резервном копировании, мониторинге и применении обновлений безопасности.

Дополнительные ресурсы и ссылки

  • Официальная документация MariaDB — прочитайте руководства по настройке и бэкапам.
  • Документы по безопасности и шифрованию MariaDB.
  • Инструменты резервного копирования: mysqldump, mariabackup.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро