Главная/Разработка/MariaDB
Установка MariaDB на свой сервер
Установка MariaDB на сервер проще всего в Debian и Ubuntu: пакет mariadb-server ставится одной командой, а в Docker есть официальный образ с долгосрочными тегами 12.3 и 11.8. База говорит на языке MySQL, так что большинство PHP-проектов подключается к ней без правок. Различия начинаются в функциях и в именах утилит.
Ответ за 30 секунд
Для сайта на CMS ставьте MariaDB из пакета дистрибутива или образ Docker с тегом lts: 2 ГБ памяти на старт хватает. Управляемой MariaDB в списке баз Таймвеб Клауд на 14 октября 2026 нет, поэтому если нужна готовая база, смотрите управляемый MySQL и сверяйте функции приложения.
Если приложению подходит MySQL, провайдер берёт на себя обновления и копии.
Сколько памяти нужно MariaDB и как настроить InnoDB12.3 и 11.8долгосрочные ветки на 15.10.2026
3306порт, как у MySQL
/var/lib/mysqlкаталог данных в образе
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#
- Поставьте сервер пакетом
mariadb-server, он запускается как служба сразу после установки. - Запустите мастер защиты
mariadb-secure-installation: удалит тестовую базу и анонимных пользователей. - Создайте базу и пользователя приложения, не работайте от 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.
Отдайте базу данных провайдеру
Обновления, мониторинг и резервные копии делает провайдер, вы работаете с подключением.
- PostgreSQL, MySQL, MongoDB от 790 ₽
- Valkey (совместим с Redis) от 670 ₽
- Kafka, RabbitMQ, ClickHouse, OpenSearch
- Автобэкапы 6 ₽ в месяц за ГБ