Главная/Разработка/MariaDB

Установка MariaDB на свой сервер

Установка MariaDB на сервер проще всего в Debian и Ubuntu: пакет mariadb-server ставится одной командой, а в Docker есть официальный образ с долгосрочными тегами 12.3 и 11.8. База говорит на языке MySQL, так что большинство PHP-проектов подключается к ней без правок. Различия начинаются в функциях и в именах утилит.

5 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Для сайта на CMS ставьте MariaDB из пакета дистрибутива или образ Docker с тегом lts: 2 ГБ памяти на старт хватает. Управляемой MariaDB в списке баз Таймвеб Клауд на 14 октября 2026 нет, поэтому если нужна готовая база, смотрите управляемый MySQL и сверяйте функции приложения.

Если приложению подходит MySQL, провайдер берёт на себя обновления и копии.

Сколько памяти нужно MariaDB и как настроить InnoDB

01 · 1 мин

Чем MariaDB отличается от MySQL и когда её брать#

MariaDB это ответвление MySQL с открытым кодом GPL. Оно появилось после покупки MySQL компанией Oracle и сохранило протокол, клиентские библиотеки и привычные SQL-команды. В Debian MariaDB стоит вместо MySQL по умолчанию, поэтому на Debian её и ставят.

На MariaDB без изменений работает большинство PHP-проектов: WordPress, Joomla, OpenCart, PrestaShop. Расходятся базы в деталях новых версий: у MariaDB свой движок Aria, кластер Galera, таблицы с историей изменений строк (system-versioned) и собственные номера выпусков. Поэтому проект, написанный под конкретные функции MySQL 8, сначала проверяют на тестовой копии. Альтернативу описывает страница установка MySQL.

02 · 1 мин

Установка MariaDB на Debian и Ubuntu#

  1. Поставьте сервер пакетом mariadb-server, он запускается как служба сразу после установки.
  2. Запустите мастер защиты mariadb-secure-installation: удалит тестовую базу и анонимных пользователей.
  3. Создайте базу и пользователя приложения, не работайте от root.
sudo apt update
sudo apt install -y mariadb-server
sudo mariadb-secure-installation
sudo mariadb -e "CREATE DATABASE appdb CHARACTER SET utf8mb4;"
sudo mariadb -e "CREATE USER 'app'@'localhost' IDENTIFIED BY 'ВАШ_ПАРОЛЬ';"
sudo mariadb -e "GRANT ALL ON appdb.* TO 'app'@'localhost';"

Клиент и утилиты в новых версиях называются mariadb и mariadb-dump, старые имена mysql и mysqldump остались как ссылки для совместимости. Пользователь root при локальном входе проверяется по сокету, а не по паролю: sudo mariadb пускает без пароля, обычный пользователь системы нет. В Debian настройки лежат в /etc/mysql/mariadb.conf.d/50-server.cnf, там же параметр bind-address, по умолчанию локальный.

В отечественных дистрибутивах (Astra Linux, ALT, РЕД ОС) пакет ставят штатным менеджером из своего репозитория, а версию сверяют командой mariadb --version.

03 · 1 мин

MariaDB в Docker: compose-файл с healthcheck#

Официальный образ mariadb требует один из вариантов пароля root, например MARIADB_ROOT_PASSWORD. Тег lts ведёт на ветку 12.3, а latest на 13.0 с коротким сроком поддержки; для рабочей базы фиксируйте 11.8 или 12.3.

services:
  db:
    image: mariadb:12.3
    restart: unless-stopped
    env_file: .env
    environment:
      MARIADB_DATABASE: appdb
      MARIADB_USER: app
    volumes:
      - dbdata:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 10s
      timeout: 5s
      retries: 5
volumes:
  dbdata:

В .env задайте MARIADB_ROOT_PASSWORD и MARIADB_PASSWORD. Образ сам не проверяет готовность, поэтому healthcheck нужен: приложение с depends_on дождётся, пока база проинициализирована. Для обновления между версиями образа есть переменная MARIADB_AUTO_UPGRADE: она запустит mariadb-upgrade и положит копию системных таблиц рядом с данными.

Инструмент · 1 мин

Сколько памяти нужно MariaDB и как настроить InnoDB#

Основной расход памяти идёт на innodb_buffer_pool_size, кэш данных и индексов. Значение по умолчанию 128 МБ мало для базы в несколько гигабайт, но для сайта-визитки хватает. Если на сервере живут PHP и веб-сервер, отдайте пулу около половины памяти, на отдельном сервере базы можно больше.

Второй источник нагрузки это соединения: каждое держит собственные буферы, и сотни одновременных подключений от PHP съедают память быстрее, чем растёт сама база. Используйте постоянные соединения осторожно и следите за числом процессов веб-сервера.

Какой сервер взять под MariaDB

Три ответа про проект, калькулятор подберёт конфигурацию

Что работает с базой
Сколько данных
Нужна ли отказоустойчивость

05 · 1 мин

Кластер Galera для MariaDB: когда он нужен и сколько серверов#

Galera связывает несколько узлов MariaDB в один кластер, где запись идёт на любой из них, а данные синхронно копируются на остальные. Для кворума нужны не меньше трёх узлов, иначе при падении одного оставшийся не поймёт, кто из них главный.

Для сайта на CMS такая схема избыточна: три сервера стоят втрое дороже, а нагрузка редко её оправдывает. Кластер имеет смысл, когда простой базы на пять минут уже стоит денег. Для остальных хватит одного сервера с ночным дампом и проверенным восстановлением.

06 · 1 мин

Резервные копии MariaDB: mariadb-dump и mariadb-backup#

Логический дамп делается командой mariadb-dump --single-transaction appdb | gzip > appdb.sql.gz. Для баз в десятки гигабайт дамп и восстановление идут долго, тогда берут физическую копию утилитой mariadb-backup: она копирует файлы данных без остановки сервера.

Управляемой MariaDB в Таймвеб Клауд нет, а у управляемого MySQL автокопии стоят 6 ₽ в месяц за ГБ (цена на 14 октября 2026). Для своей базы скрипт копирования и проверка восстановления описаны на странице сервер для бэкапов.

07 · 1 мин

Вопросы об установке MariaDB#

Какую версию MariaDB ставить в новый проект?

Берите долгосрочную ветку: 12.3 поддерживается до июня 2029 года, 11.8 до июня 2028 года. Ветки с короткой поддержкой вроде 13.0 годятся для проверки новых функций, а не для рабочей базы.

Можно ли заменить MySQL на MariaDB без переделки сайта?

Для большинства CMS да: протокол и SQL совместимы. Проверьте на тестовой копии, потому что расширения под конкретную версию MySQL иногда используют функции, которых в MariaDB нет.

Как установить MariaDB в Docker с проверкой готовности?

Используйте образ mariadb с тегом lts и добавьте в compose-файл healthcheck через скрипт healthcheck.sh с флагами --connect и --innodb_initialized. Приложение тогда стартует после готовности базы.

Как установить MariaDB на Windows 10 для разработки?

Скачайте установщик MSI с сайта проекта и оставьте порт 3306. Для рабочего сервера берите Linux: на нём проще копии и обновления.

Почему этому можно верить

Как мы проверяли

Цены с сайта провайдераСняты вручную, у каждой цены указана дата проверки.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: Облачные базы данных Таймвеб Клауд, timeweb.cloud/services/dbaas, проверено 14 октября 2026; Docker Official Images: образ mariadb, теги и healthcheck.sh, github.com/docker-library/docs/tree/master/mariadb, проверено 15 октября 2026; endoflife.date: сроки поддержки PostgreSQL, MySQL, MariaDB, MongoDB, Redis, Valkey, ClickHouse, Kafka, RabbitMQ, Magento, Joomla, PHP, endoflife.date, проверено 15 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

Отдайте базу данных провайдеру

Обновления, мониторинг и резервные копии делает провайдер, вы работаете с подключением.

  • PostgreSQL, MySQL, MongoDB от 790 ₽
  • Valkey (совместим с Redis) от 670 ₽
  • Kafka, RabbitMQ, ClickHouse, OpenSearch
  • Автобэкапы 6 ₽ в месяц за ГБ
Память