Manager, Developer Education
Предыдущая версия данного обучающего руководства была написана Брайаном Бушероном.
MariaDB — это система управления реляционными базами данных с открытым исходным кодом, которая часто используется в качестве альтернативы MySQL в составе популярного набора LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Она представляет собой упрощенную замену MySQL.
В этом кратком обучающем модуле описывается процедура установки СУБД MariaDB на сервере Ubuntu 20.04 и ее настройки с безопасной начальной конфигурацией. Также в нем описывается процедура настройки дополнительной административнйо учетной записи для доступа с помощью пароля.
Для выполнения этого обучающего модуля вам потребуется сервер под управлением Ubuntu 20.04. На сервере должен быть пользователь без привилегий root с правами администратора и брандмауэр, настроенный с помощью UFW. Вы можете выполнить настройку, следуя указаниям документа «Начальная настройка сервера для Ubuntu 20.04».
Перед началом установки 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
для запуска.
Запустите скрипт безопасности, установленный в комплекте с 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, а также будут загружены новые правила.
При установке 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
Результат должен выглядеть примерно так:
Outputmysqladmin 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, вы можете воспользоваться некоторыми примерами следующих шагов, которые вы можете выполнить при работе с сервером:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!