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

Установка и базовая настройка MariaDB на Ubuntu 22.04

7 min read Databases Обновлено 05 Jan 2026
MariaDB на Ubuntu 22.04 — установка и настройка
MariaDB на Ubuntu 22.04 — установка и настройка

Linux tux logo on a Desktop

Что такое MariaDB

MariaDB — это свободная и открытая реляционная СУБД, форк MySQL, совместимая по синтаксису и протоколу, часто используемая в Linux-средах. Кратко: быстрая, расширяемая, поддерживает дополнительные движки хранения и набор плагинов. Простая строка определения: MariaDB — это drop-in-замена MySQL для большинства приложений.

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

Основные варианты установки

  • Установка из стандартных репозиториев Ubuntu (быстро, стабильнее в контексте дистрибутива).
  • Установка из официального репозитория MariaDB (позволяет выбрать более новую ветку MariaDB).

Если вам нужна последняя версия MariaDB для специфических функций, рассмотрите официальный репозиторий MariaDB. В этой статье показан базовый путь через apt, плюс варианты и меры безопасности.

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

  • Ubuntu 22.04 с правами sudo.
  • Подключение к интернету для загрузки пакетов.
  • Минимум 1 ГБ ОЗУ для небольших тестовых инсталляций; для продакшна — больше, в зависимости от нагрузки.

Как установить MariaDB на Ubuntu 22.04

Ниже — пошаговый, проверенный рабочий набор команд и объяснения.

Шаг 1: Обновите систему

Обновление пакетов перед установкой снижает шанс конфликтов и обеспечивает получение последних исправлений:

sudo apt update && sudo apt upgrade -y

Пояснение: сначала apt обновляет список пакетов, затем устанавливает доступные обновления. Флаг -y подтверждает установку автоматически.

Шаг 2: Установите вспомогательные пакеты

Обычно требуется набор утилит для работы с репозиториями и HTTPS:

sudo apt-get install wget software-properties-common dirmngr ca-certificates apt-transport-https -y

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

Шаг 3: Установка MariaDB из репозиториев Ubuntu

Установите сервер и клиент MariaDB следующей командой:

sudo apt install mariadb-server mariadb-client -y

Проверка версии MariaDB:

mariadb --version

Проверка статуса службы:

systemctl status mariadb

MariaDB status is Active

Если служба активна, вы увидите статус Active: active (running).

Альтернативный путь: официальный репозиторий MariaDB

Когда нужна конкретная ветка MariaDB (например, 10.6, 10.11 и т.д.), используйте официальный репозиторий MariaDB для Ubuntu 22.04. Процесс включает импорт ключа и добавление соответствующей строки в /etc/apt/sources.list.d/. Подробные команды и актуальные URL лучше взять из официальной инструкции на mariadb.org, чтобы гарантировать корректный адрес и GPG-ключ.

Important: добавление сторонних репозиториев изменяет жизненный цикл пакетов и может повлиять на безопасность и обновления — взвесьте риски.

Базовая настройка безопасности (mysql_secure_installation)

После установки обязательно запустите скрипт для начального жесткого hardening:

sudo mysql_secure_installation

Типичные шаги в скрипте:

  • Установка пароля root (если требуется).
  • Удаление анонимных пользователей.
  • Отключение удалённого входа root (рекомендуется для повышения безопасности).
  • Удаление тестовой базы данных.
  • Перезагрузка таблиц привилегий.

Output of a MariaDB script

Рекомендации: задайте сложный пароль для root, удалите анонимных пользователей и тестовую базу, перезагрузите привилегии.

Как проверить, что MariaDB работает

Проверка статуса службы:

sudo systemctl status mariadb

Если служба не запущена, можно запустить её вручную и посмотреть логи:

sudo systemctl start mariadb
sudo journalctl -u mariadb -b --no-pager

Логи ошибок также находятся в /var/log/mysql/ или /var/log/mysql/error.log в зависимости от конфигурации.

MariaDB status is down

Как работать с MariaDB через командную строку

1. Войти в shell MariaDB

Для входа в консоль MariaDB (без пароля root, если используете unix_socket):

sudo mariadb

Или, если root защищён паролем:

mariadb -u root -p

После входа появится приглашение MariaDB для выполнения SQL-запросов.

MariaDB shell to run MariaDB queries

2. Создание учётной записи администратора

Лучше создать административного пользователя для повседневной работы, а не использовать root напрямую.

Пример команды (выполните внутри MariaDB):

GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'ваш_сложный_пароль' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Замените ‘вашсложныйпароль’ на надёжную фразу-пароль. Затем выход:

exit

Примечание: современные версии допускают создание пользователей через CREATE USER и последующее GRANT; используйте тот способ, который соответствует вашей версии MariaDB и политике безопасности.

3. Создание базы данных и проверка

Пример создания базы данных и просмотра существующих:

CREATE DATABASE TestDB;
SHOW DATABASES;

A list of databases in MariaDB

TestDB появится в списке.

Как полностью удалить MariaDB из Ubuntu 22.04

Если MariaDB больше не требуется, можно удалить пакеты и конфигурацию:

sudo apt-get purge mariadb-* -y
sudo apt-get autoremove -y
sudo rm -rf /var/lib/mysql /etc/mysql

Команда purge удалит пакеты и связанные конфигурации; rm -rf удалит данные баз. Делайте это только если уверены, что резервные копии не нужны.

A window asking the user if he wants to remove MariaDB

Выберите Yes для подтверждения удаления при появлении запроса.

Рекомендации по безопасности и эксплуатации (жёсткая настройка)

  • Ограничьте bind-address в /etc/mysql/mariadb.conf.d/50-server.cnf: установите bind-address = 127.0.0.1, если удалённый доступ не нужен.
  • Настройте UFW: разрешите только нужные порты (обычно 3306 для MySQL/MariaDB), и только с доверенных хостов:
sudo ufw allow from 192.168.1.0/24 to any port 3306 proto tcp
  • Используйте TLS для шифрования клиент-серверного трафика (создайте сертификаты и настройте [client] и [mysqld] секции).
  • Настройте регулярные резервные копии (mysqldump, mariabackup или снимки LVM). Тестируйте восстановление
  • Включите аудит доступа и мониторинг (Prometheus + exporter, или Percona инструменты).
  • Ограничьте привилегии: практикуйте принцип наименьших привилегий для приложений.
  • Рассмотрите fail2ban для защиты от брутфорс-атак на подключение к mysql.

Тестирование и критерии приёмки

Критерии приёмки для базовой установки:

  • Служба mariadb активна (systemctl status показывает active (running)).
  • Можно подключиться локально через mariadb или mysql клиент.
  • Root защищён паролем или доступ по unix_socket ограничён.
  • Тестовая база удалена, а анонимные пользователи удалены (если это требование безопасности).
  • Выполнена резервная копия и проверено восстановление на тестовой машине.

Минимальный тест (после установки):

sudo systemctl status mariadb
mariadb -u admin -p -e "SHOW DATABASES;"

Если команды выполняются и вывод корректен — установка прошла успешно.

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

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

  • Обновить систему, установить MariaDB.
  • Настроить автозапуск службы systemd.
  • Ограничить bind-address и настроить firewall.
  • Настроить бэкапы и план их тестирования.

Разработчик:

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

DBA:

  • Настроить политики резервного копирования/восстановления.
  • Настроить мониторинг производительности и alert-ы.
  • Планировать обслуживание и обновления сервера.

Быстрая «шпаргалка» команд

  • Обновление и установка:
sudo apt update && sudo apt upgrade -y
sudo apt install mariadb-server mariadb-client -y
  • Запуск/остановка/перезапуск:
sudo systemctl start|stop|restart mariadb
  • Логи и диагностика:
sudo journalctl -u mariadb -b --no-pager
sudo tail -n 200 /var/log/mysql/error.log
  • Вход в консоль:
sudo mariadb
mariadb -u user -p
  • Создание пользователя и базы данных:
CREATE DATABASE mydb;
CREATE USER 'app'@'localhost' IDENTIFIED BY 'secure';
GRANT SELECT,INSERT,UPDATE ON mydb.* TO 'app'@'localhost';
FLUSH PRIVILEGES;
  • Резервное копирование:
mysqldump -u root -p mydb > mydb.sql
  • Восстановление:
mysql -u root -p mydb < mydb.sql

Ошибки и способы их устранения (тройной чек)

Проблема: служба не стартует.

  • Проверьте логи: sudo journalctl -u mariadb -e
  • Проверьте права и свободное место на диске: df -h и ls -la /var/lib/mysql
  • Частая причина — повреждённые файлы ibdata или конфликты версий при обновлении.

Проблема: не удаётся подключиться удалённо.

  • Проверьте bind-address и firewall (ufw). Убедитесь, что порт 3306 открыт для доверенного хоста.

Проблема: аутентификация не проходит.

  • Убедитесь, что используете правильный плагин аутентификации (unix_socket vs mysql_native_password).
  • Проверьте привилегии пользователя: SELECT User,Host,Plugin FROM mysql.user;

Миграция с MySQL и альтернативы

  • MariaDB совместима с большинством MySQL-приложений, но перед миграцией протестируйте специфичные функции (например, движки хранения или специфичные плагины).
  • Альтернатива: PostgreSQL — если вам важны расширенные типы данных, сложные транзакции и расширяемость SQL.

Совет: сделайте полную резервную копию и тестовую миграцию на отдельной узле перед переводом продакшн-трафика.

Небольшая галерея крайних случаев и когда MariaDB может не подойти

  • Очень высокие OLTP нагрузки с жёсткими SLA могут потребовать тонкой настройки инстансов и кластеризации Galera или перехода на специализированные решения.
  • Если приложение использует специфические расширения MySQL, несовместимые с MariaDB, потребуется дополнительная проверка.

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

  • СУБД: система управления базами данных; программный слой для хранения и доступа к данным.
  • bind-address: параметр конфигурации, задающий IP-адрес, на котором слушает сервер.
  • mysqldump: утилита для создания дампа БД в текстовом формате.
  • unix_socket: метод аутентификации, позволяющий вход без пароля для системного пользователя root.

Итоги

MariaDB на Ubuntu 22.04 устанавливается просто: обновите систему, установите пакеты, выполните mysql_secure_installation, создайте пользователей и базы данных, настроите бэкапы и firewall. Для продакшна дополнительно настройте TLS, мониторинг и регулярное тестирование восстановления.

Завершение: начните с установки в тестовой среде, затем перенесите настройки в продакшн, следуя чек-листам и критериям приёмки выше.

Быстрый поток принятия решения (Mermaid)

flowchart TD
  A[Нужна MariaDB?] -->|Да| B{Требуется последняя версия?}
  B -->|Да| C[Использовать официальный репозиторий MariaDB]
  B -->|Нет| D[Установить из репозиториев Ubuntu]
  C --> E[Установить и выполнить hardening]
  D --> E
  E --> F{Продакшн или тест?}
  F -->|Тест| G[Настроить бэкапы, протестировать миграции]
  F -->|Продакшн| H[Настроить TLS, мониторинг, SLA]

Спасибо за внимание. Если хотите, я могу сгенерировать готовый пример systemd unit, конфигурацию TLS для MariaDB или шаблон cron для регулярных бэкапов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство