Предыдущая версия данного обучающего руководства была написана Брайаном Бушероном.
Введение
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 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 через терминал:
Затем создайте нового пользователя с правами root и с аутентификацией на основе пароля. Измените имя пользователя и пароль на предпочитаемые:
- GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Очистите привилегии, чтобы они были сохранены и доступны в текущем сеансе:
После этого закройте оболочку MariaDB:
Вы можете протестировать нового пользователя с помощью клиентского инструмента 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, вы можете воспользоваться некоторыми примерами следующих шагов, которые вы можете выполнить при работе с сервером: