Установка MariaDB 10.4 на Ubuntu 18.04 и 20.04: пошаговое руководство

В данном руководстве вы узнаете, как установить MariaDB 10.4 на серверах с Ubuntu 18.04 и 20.04. MariaDB — это надежная и устойчивая реляционная база данных с открытым исходным кодом, являющаяся форком MySQL. Многие дистрибутивы Linux перешли на MariaDB в качестве стандартного решения для серверной базы данных. MariaDB используется в таких крупных организациях, как Google, Wikipedia, Tencent, Verizon, Deutsche Bank и Huatai Securities, а также во многих других.

На момент создания данной статьи актуальной стабильной версией является MariaDB 10.4.8, которая была выпущена 11 сентября 2019 года. Ключевые изменения включают в себя:

  • Плагин аутентификации unix_socket стал общепринятым на системах, аналогичных Unix.
  • Таблица mysql. user больше не актуальна. Учетные записи пользователей и глобальные права теперь находятся в таблице mysql. global_priv.
  • Таблица mysql. host больше не генерируется, так как она устарела.
  • Galera была модернизирована с версии 3 до версии 4.
  • И многое иное.

Все значимые версии MariaDB будут получать поддержку не менее 5 лет. Версия 10.4 MariaDB будет актуальна до июня 2024 года.

Инсталляция MariaDB 10.4 на Ubuntu 18.04 и 20.04 из официальных репозиториев.

В официальном репозитории Ubuntu доступен пакет MariaDB, однако его версия устарела. В Ubuntu 18.04 представлена только MariaDB 10.1, а в Ubuntu 20.04 — MariaDB 10.3. Последнюю версию можно установить из официального репозитория MariaDB.

Читайте также:  Способ отследить потери пакетов

Зайдите на сайт https://downloads.mariadb.org/mariadb/repositories и выберите свой дистрибутив Linux, версию, релиз и нужные зеркала репозитория. К примеру, я выбрал Ubuntu 18.04, MariaDB 10.4 и зеркало Limestone Networks, что видно на следующем снимке экрана.

репозиторий mariadb для ubuntu 18.04 lts

Когда все опции будут выбраны, внизу страницы появятся персонализированные инструкции. Например, чтобы добавить репозиторий в Ubuntu 18.04, мне необходимо выполнить следующие команды.

sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror. lstn.net/mariadb/repo/10.4/ubuntu bionic main'

Для добавления репозитория в Ubuntu 20.04 достаточно заменить слово bionic на focal в третьей команде.

После этого обновите список пакетов и установите сервер MariaDB.

sudo apt update sudo apt install mariadb-server

Пакет galera-4 будет установлен автоматически вместе с MariaDB. После завершения установки сервер MariaDB начнет работу. Чтобы проверить его состояние, используйте:

systemctl status mysql

systemctl status mariadb

Он проявляет активность и выполняет свою работу.

состояние mariadb

Совет: Нажмите Q, чтобы восстановить управление терминалом, если указанная команда не завершится мгновенно.

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

sudo systemctl start mariadb

Чтобы активировать автоматический запуск при старте системы, выполните следующее.

sudo systemctl enable mariadb

Для доступа к монитору MariaDB выполните следующие шаги:

Читайте также:  Два способа установки Telegram Messenger на Ubuntu: через PPA и Snap пакет

sudo mysql - u root

sudo mariadb - u root

При запросе пароля следует вводить пароль для пользователя sudo, а не пароль пользователя root в MariaDB.

плагин unix_socket для mariadb версии 10.4

Установленная версия сервера 10.4.8 была загружена из бинарного дистрибутива mariadb. org. Для выхода используйте

exit;

Начните выполнение сценария постинсталляции.

Для достижения наилучшей безопасности сервера MariaDB рекомендуется выполнить сценарий постинсталляции.

sudo mysql_secure_installation

MariaDB 10.04 применяет плагин аутентификации unix_socket, что позволяет пользователю root не вводить пароль. Когда скрипт запросит пароль для root, просто нажмите Enter. На следующие два вопроса ответьте «n».

MariaDB 10.4 на Ubuntu 18.04

После этого вы можете нажать клавишу Enter, чтобы ответить на все оставшиеся вопросы, что приведет к удалению анонимного пользователя, отключению удаленного доступа к root и удалению тестовой базы данных. Этот шаг является важным требованием для обеспечения безопасности базы данных MariaDB. (Имейте в виду, что Y написано с большой буквы, что указывает на выбор по умолчанию.)

Установка MariaDB на Ubuntu 18.10.

InnoDB и XtraDB: Сравнение движков хранения данных.

До версии MariaDB 10.1 в качестве основного движка хранения использовался XtraDB, представляющий собой усовершенствованную версию InnoDB от MySQL. Однако со временем MySQL внедрил практически все улучшения, и InnoDB смог его догнать. В связи с этим, начиная с версии MariaDB 10.2, InnoDB стал основным движком.

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

Читайте также:  Как активировать TLS 1.3 в Nginx на Ubuntu 18.04 и 16.04

show engines;

В MariaDB 10.1 данная команда выдает следующий результат, который свидетельствует о том, что XtraDB установлен в качестве основного движка.

Хранилище XtraDB

В версиях MariaDB 10.2, 10.3 и 10.4 команда выше выдаёт результат, свидетельствующий о том, что InnoDB установлен в качестве стандартного движка.

Движок хранения InnoDB

Диагностика и решение проблем

Примечание: Данный совет по устранению проблем больше не актуален для MariaDB версии 10.4, так как в ней по умолчанию применяется плагин аутентификации unix_socket. Тем не менее, он может быть полезен, если вы все еще используете MariaDB 10.3.

Если вы ранее устанавливали MariaDB из официального репозитория Ubuntu, а сейчас планируете установить последнюю версию с сайта mariadb. org, то, скорее всего, возникнет ошибка при попытке авторизации в системе.

ОШИБКА 1524 (HY000): Плагин 'unix_socket' не загружен

Это обусловлено тем, что бинарный файл MariaDB. org по-прежнему применяет плагин mysql_native_password для аутентификации пользователей, в то время как версия MariaDB из репозитория Ubuntu использует плагин unix_socket. Первый требует от пользователя вводить пароль, тогда как второй позволяет выполнить команду для доступа без необходимости ввода пароля root MariaDB.

sudo mysql - u root

Пользователь root в MariaDB изначально настроен на аутентификацию через unix_socket, так как был установлен из репозитория Ubuntu. Однако, при установке нового бинарного файла с сайта mariadb. org, плагин unix_socket отключается, что приводит к указанной ошибке.

Чтобы продолжить использование метода unix_socket, измените файл 50-server. cnf.

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

Вставьте следующую строку в секцию [mariadb] в самом низу.

plugin_load_add = auth_socket

Сохраните изменения и закройте.