Report this

What is the reason for this report?

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

Published on June 11, 2020
Mark Drake

By Mark Drake

Manager, Developer Education

Русский
Установка MariaDB в Ubuntu 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:

  1. sudo apt update

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

  1. sudo apt install mariadb-server

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

  1. 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:

  1. 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 через терминал:

  1. sudo mariadb

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

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

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

  1. FLUSH PRIVILEGES;

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

  1. exit

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

  1. 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, вы можете воспользоваться некоторыми примерами следующих шагов, которые вы можете выполнить при работе с сервером:

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the author

Mark Drake
Mark Drake
Author
Manager, Developer Education
See author profile

Former Technical Writer at DigitalOcean. Focused on SysAdmin topics including Debian 11, Ubuntu 22.04, Ubuntu 20.04, Databases, SQL and PostgreSQL.

Still looking for an answer?

Was this helpful?


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!

Creative CommonsThis work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 4.0 International License.
Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.