Tutorial

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

Published on June 11, 2020
Default avatar

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 us


About the authors
Default avatar

Manager, Developer Education

Technical Writer @ DigitalOcean

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


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!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel