Tutorial

Установка MariaDB в Ubuntu 20.04 [Краткое руководство]

UbuntuMariaDBQuickstartDatabasesUbuntu 20.04

Предыдущая версия данного обучающего руководства была написана Брайаном Бушероном.

Введение

MariaDB — это система управления реляционными базами данных с открытым исходным кодом, которая часто используется в качестве альтернативы MySQL в составе популярного набора LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Она представляет собой упрощенную замену MySQL.

В этом кратком обучающем модуле описывается процедура установки СУБД MariaDB на сервере Ubuntu 20.04 и ее настройки с безопасной начальной конфигурацией. Также в нем описывается процедура настройки дополнительной административнйо учетной записи для доступа с помощью пароля.

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

Для выполнения этого обучающего модуля вам потребуется сервер под управлением Ubuntu 20.04. На сервере должен быть пользователь без привилегий root с правами администратора и брандмауэр, настроенный с помощью UFW. Вы можете выполнить настройку, следуя указаниям документа «Начальная настройка сервера для Ubuntu 20.04».

Шаг 1 — Установка MariaDB

Перед началом установки MariaDB обновите индекс пакетов на вашем сервере с помощью apt:

  • sudo apt update

Затем выполните установку пакета:

  • sudo apt install mariadb-server

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

  • sudo systemctl status mariadb

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

Output
● mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-05-12 13:38:18 UTC; 3min 55s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 25914 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 2345) Memory: 65.6M CGroup: /system.slice/mariadb.service └─25914 /usr/sbin/mysqld . . .

Если MariaDB не запущена, вы можете воспользоваться командой sudo systemctl start mariadb для запуска.

Шаг 2 — Настройка MariaDB

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

  • sudo mysql_secure_installation

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

Output
. . . Enter current password for root (enter for none):

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

Output
. . . Set root password? [Y/n] N

Далее вы можете использовать клавиши Y и ENTER, чтобы принять ответы по умолчанию для всех последующих вопросов. В результате будет удален ряд анонимных пользователей и тестовая база данных, отключена возможность удаленного входа с правами root, а также будут загружены новые правила.

Шаг 3 — (необязательно) Создание административного пользователя с аутентификацией по паролю

При установке MariaDB 10.3 в системах Ubuntu для пользователя root в MariaDB настраивается аутентификация с помощью плагина unix_socket, а не с помощью пароля. Поскольку для ротации журналов, запуска и остановки сервера используется учетная запись root, лучше всего не менять учетные данные root. Команда поддержки пакета рекомендует создать отдельную административную учетную запись для доступа с паролем.

Для этого откройте командную строку MariaDB через терминал:

  • sudo mariadb

Затем создайте нового пользователя с правами root и с аутентификацией на основе пароля. Измените имя пользователя и пароль на предпочитаемые:

  • GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Очистите привилегии, чтобы они были сохранены и доступны в текущем сеансе:

  • FLUSH PRIVILEGES;

После этого закройте оболочку MariaDB:

  • exit

Вы можете протестировать нового пользователя с помощью клиентского инструмента mysqladmin, позволяющего запускать административные команды. Следующая команда mysqladmin выполняет подключение к MariaDB от имени пользователя admin и возвращает номер версии после ввода пароля пользователя в диалоге:

  • mysqladmin -u admin -p version

Результат должен выглядеть примерно так:

Output
mysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.3.22-MariaDB-1ubuntu1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 4 min 49 sec Threads: 7 Questions: 467 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables: 31 Queries per second avg: 1.615

Заключение

В этом обучающем модуле мы выполнили установку реляционной СУБД MariaDB и защитили ее с помощью скрипта mysql_secure_installation, входящего в комплект установки. Также у вас была возможность создать нового административного пользователя с аутентификацией на основе пароля.

Теперь, когда у вас есть запущенный и защищенный сервер MariaDB, вы можете воспользоваться некоторыми примерами следующих шагов, которые вы можете выполнить при работе с сервером:

Creative Commons License