
Цель урока: Добавить на наш сервер еще один фундаментальный компонент, необходимый для работы практически любого современного сайта - сервер баз данных. Мы установим MariaDB, полностью совместимый и свободно распространяемый форк (ответвление) MySQL, и выполним его базовую настройку безопасности.
Часть 1: Теория. Что такое сервер баз данных и зачем он нужен?
Представьте, что ваш сайт - это большая библиотека.
-
HTML-файлы, картинки, CSS - это обложки книг, их оформление и статичные страницы с оглавлением. Nginx отлично справляется с их раздачей.
-
База данных (БД) - это огромный, хорошо организованный карточный каталог в этой библиотеке. В нем хранятся все структурированные данные: информация о тысячах книг (товаров в интернет-магазине), данные о читателях (пользователях сайта), их комментарии, статьи в блоге и т.д.
Сервер баз данных (СУБД), такой как MySQL или MariaDB, - это главный библиотекарь.
-
Он не просто хранит карточки, он управляет ими.
-
Он принимает запросы на специальном языке SQL (Structured Query Language).
-
По запросу "Найди мне все книги автора X, изданные после 2000 года" он быстро пробегается по каталогу и выдает точный результат.
-
Он следит за тем, чтобы никто не мог испортить или украсть карточки, раздавая права доступа.
MySQL vs MariaDB - что мы ставим?
-
MySQL - это оригинальная, очень популярная СУБД, которая сейчас принадлежит компании Oracle.
-
MariaDB - это ответвление (форк) MySQL, созданное оригинальными разработчиками MySQL, чтобы гарантировать, что она останется свободной и открытой.
-
Для нас, как для пользователей, они практически идентичны. MariaDB стремится к полной обратной совместимости с MySQL. Команды, синтаксис SQL и принципы работы у них одинаковые. В репозиториях Debian/Ubuntu по умолчанию сейчас чаще предлагается именно MariaDB, поэтому мы будем использовать ее.
Часть 2: Практика. Установка MariaDB
Шаг 1: Установка пакетов
Нам понадобится сам сервер и клиент для подключения к нему.
apt update
apt install -y mariadb-server mariadb-client
Шаг 2: Проверка статуса службы
Как и Nginx, MariaDB - это служба (service), которой можно управлять через systemctl.
systemctl status mariadb
Вы должны увидеть Active: active (running), что означает, что сервер баз данных успешно запущен.

Часть 3: Практика. Базовая настройка безопасности
Сразу после установки MariaDB находится в небезопасном состоянии: у root-пользователя базы данных нет пароля, и есть тестовые базы, которые нам не нужны. Для исправления этого существует специальный интерактивный скрипт.
Шаг 1: Запуск скрипта безопасной установки
mysql_secure_installation
Скрипт задаст вам несколько вопросов. Давайте пройдемся по ним.
-
Enter current password for root (enter for none):
Так как мы только что установили сервер, пароля еще нет. Просто нажмите Enter. -
Switch to unix_socket authentication [Y/n]?
Это современный и безопасный метод аутентификации, который позволяет вам входить в базу данных под пользователем root без пароля, но только если вы уже залогинены в систему сервера как root. Это удобно и безопасно. Нажмите Y и Enter. -
Change the root password? [Y/n]
Поскольку мы включили unix_socket, отдельный пароль для root нам не понадобится для входа с самого сервера. Но если вы планируете подключаться к root удаленно (что не рекомендуется), здесь можно задать пароль. Для нашего сценария можно ответить n и нажать Enter. -
Remove anonymous users? [Y/n]
Удалить анонимных пользователей? Однозначно Y и Enter. Анонимные пользователи - это дыра в безопасности. -
Disallow root login remotely? [Y/n]
Запретить root-пользователю БД подключаться удаленно? Абсолютно Y и Enter. Это важнейший шаг безопасности. Управлять базой от имени root можно только находясь на самом сервере. -
Remove test database and access to it? [Y/n]
Удалить тестовую базу данных? Да, Y и Enter. Она нам не нужна. -
Reload privilege tables now? [Y/n]
Перезагрузить таблицы привилегий, чтобы все изменения немедленно вступили в силу? Да, Y и Enter.
После этого вы увидите сообщение All done! и Thanks for using MariaDB!. Ваша установка теперь имеет базовый уровень защиты.

Часть 4: Практика. Подключение к серверу и первая команда
Шаг 1: Вход в консоль MariaDB
Чтобы поработать с базой данных, нужно подключиться к ней с помощью клиента.
mariadb
# или mysql, обе команды сработают
Поскольку мы залогинены в систему как root, и на прошлом шаге мы включили unix_socket аутентификацию, нас пустит в консоль без запроса пароля.
Ваша командная строка изменится на MariaDB [(none)]>. Это означает, что вы находитесь внутри сервера баз данных.
Шаг 2: Выполнение первой SQL-команды
Давайте посмотрим, какие базы данных есть в системе.
SHOW DATABASES;
Важно: Все SQL-команды должны заканчиваться точкой с запятой ;.
Вы увидите небольшой список служебных баз, таких как information_schema, mysql, performance_schema.

Шаг 3: Выход из консоли
Чтобы выйти из консоли MariaDB и вернуться в обычный терминал, введите:
exit;
# или quit;
Часть 5: Заключение
Поздравляю! Вы установили и настроили третий ключевой компонент вашего сервера, который необходим для работы любого динамического сайта. Вы научились:
-
Понимать роль сервера баз данных и то, что MariaDB является полной заменой MySQL.
-
Устанавливать сервер и клиент MariaDB.
-
Выполнять критически важную первичную настройку безопасности с помощью mysql_secure_installation.
-
Подключаться к консоли сервера баз данных.
-
Выполнять свою первую SQL-команду для просмотра списка баз.
Теперь у вас есть веб-сервер (Nginx) и сервер баз данных (MariaDB). Осталось связать их вместе.
На следующем, 48-м уроке, мы будем "Управлять пользователями и базами в MySQL", как и указано в нашем плане. Поскольку MariaDB полностью совместима с MySQL, все команды и принципы, которые мы изучим, будут абсолютно идентичны для обеих систем. Мы создадим нашу первую базу данных и пользователя для будущего сайта, а также разберемся, как выдавать этому пользователю права только на его базу данных, следуя принципу наименьших привилегий.
Перейти к просмотру - УРОК №48.
Промо-код: PROMO15 - скидка 15%!
Введите при оформлении первого заказа на сайте: Hosting-VDS.com

