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

Скрипт задаст вам несколько вопросов. Давайте пройдемся по ним.

  1. Enter current password for root (enter for none):
    Так как мы только что установили сервер, пароля еще нет. Просто нажмите Enter.

  2. Switch to unix_socket authentication [Y/n]?
    Это современный и безопасный метод аутентификации, который позволяет вам входить в базу данных под пользователем root без пароля, но только если вы уже залогинены в систему сервера как root. Это удобно и безопасно. Нажмите Y и Enter.

  3. Change the root password? [Y/n]
    Поскольку мы включили unix_socket, отдельный пароль для root нам не понадобится для входа с самого сервера. Но если вы планируете подключаться к root удаленно (что не рекомендуется), здесь можно задать пароль. Для нашего сценария можно ответить n и нажать Enter.

  4. Remove anonymous users? [Y/n]
    Удалить анонимных пользователей? Однозначно Y и Enter. Анонимные пользователи - это дыра в безопасности.

  5. Disallow root login remotely? [Y/n]
    Запретить root-пользователю БД подключаться удаленно? Абсолютно Y и Enter. Это важнейший шаг безопасности. Управлять базой от имени root можно только находясь на самом сервере.

  6. Remove test database and access to it? [Y/n]
    Удалить тестовую базу данных? Да, Y и Enter. Она нам не нужна.

  7. 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_schemamysqlperformance_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

авторское право цифровые решения

Помог ли вам данный ответ? 0 Пользователи считают это полезным (0 голосов)