Установка и базовая настройка MySQL

MySQLMySQLIntermediate
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) мы рассмотрим базовую настройку и использование MySQL, одной из самых популярных открытых реляционных систем управления базами данных (RDBMS). MySQL широко используется во многих веб-приложениях, работающих с базами данных, и популярных веб-сайтах. По завершении этого практического занятия вы получите практический опыт в проверке установки MySQL, обеспечении безопасности его начальной настройки, доступе к оболочке MySQL и изучении системных баз данных и таблиц.

Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня средний с процентом завершения 61%. Он получил 98% положительных отзывов от учащихся.

Проверка установки MySQL

Для вашего удобства MySQL уже предварительно установлен на вашей системе. Однако важно понимать процесс установки. В типичной среде Ubuntu вы бы использовали следующие команды для установки MySQL:

Следующие команды приведены только для информационных целей. Не нужно запускать их, так как MySQL уже установлен в вашей среде.

## DO NOT RUN THESE COMMANDS
sudo apt update
sudo apt install mysql-server -y

Команда apt update обновляет список пакетов, чтобы убедиться, что у вас есть актуальная информация о доступных пакетах. Команда apt install mysql-server -y устанавливает пакет сервера MySQL. Флаг -y используется для автоматического ответа "да" на любые запросы, которые могут появиться во время процесса установки.

Начнем с проверки установки MySQL и проверки его статуса.

Сначала откройте окно терминала, нажав на значок терминала на рабочем столе:

Значок терминала на рабочем столе

После открытия терминала выполните следующую команду, чтобы проверить статус MySQL:

sudo service mysql status

Эта команда использует sudo для запуска с административными привилегиями, которые часто необходимы для операций на уровне системы. Часть service mysql status просит систему сообщить о текущем состоянии службы MySQL.

Вывод статуса службы MySQL

Вы должны увидеть вывод, указывающий, что MySQL остановлен. Это ожидаемое поведение, так как мы еще не запустили службу MySQL.

sudo service mysql start

Подождите несколько секунд, пока служба запустится, а затем снова выполните команду для проверки статуса:

Вывод статуса службы MySQL

Доступ к оболочке MySQL

Теперь давайте зайдем в оболочку MySQL, чтобы выполнить несколько базовых операций.

Для доступа к оболочке MySQL используйте следующую команду:

sudo mysql -u root

Эта команда использует sudo для запуска с административными привилегиями, которые часто необходимы для операций на уровне системы. Команда mysql используется для доступа к оболочке MySQL, а флаг -u root указывает, что вы подключаетесь как пользователь root.

В данном случае не нужно вводить пароль, так как установка MySQL на виртуальной машине LabEx настроена так, чтобы позволить пользователю root входить без пароля. Это распространенная практика в средах разработки, но не должна применяться в производственных системах.

Если подключение прошло успешно, вы увидите приветственное сообщение и приглашение MySQL:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 52
Server version: 10.6.18-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Теперь вы находитесь в оболочке MySQL, где можете выполнять SQL-команды.

Приглашение MariaDB [(none)]> показывает, что вы подключены к MariaDB (форку MySQL) и в данный момент не используете какую-либо конкретную базу данных.

Важно отметить, что вы видите MariaDB вместо MySQL. Не беспокойтесь - это не повлияет на вашу способность выполнить это практическое занятие или изучить команды MySQL. Вот почему:

  1. MariaDB - это форк MySQL, созданный оригинальными разработчиками MySQL. Он разработан как прямое заменитель MySQL, то есть полностью совместим с синтаксисом и операциями MySQL.
  2. MariaDB был создан для того, чтобы всегда была доступна действительно открытая версия MySQL. Он сохраняет высокую совместимость с MySQL, а также предлагает некоторые уникальные функции и улучшения.
  3. В рамках этого практического занятия и для большинства базовых и средних операций с MySQL вы можете рассматривать MariaDB так же, как и MySQL. Все команды, которые мы будем использовать в этом практическом занятии, работают одинаково в MariaDB и MySQL.
  4. MariaDB часто считается более легковесной и быстрой, чем MySQL, что делает его отличным выбором для учебных сред, таких как это практическое занятие. Вы можете заметить более быстрый отклик, что может сделать ваш процесс обучения более плавным.
  5. Многие дистрибутивы Linux, включая некоторые версии Ubuntu, теперь используют MariaDB в качестве своей стандартной совместимой с MySQL системы управления базами данных из-за его открытого исходного кода и преимуществ в производительности.

Таким образом, когда вы видите "MariaDB" в приглашении или выводе, просто помните, что в рамках этого практического занятия вы можете думать об этом как о MySQL. Все навыки, которые вы здесь изучите, будут напрямую применимы как к MariaDB, так и к MySQL в реальных сценариях.

Исследование системных баз данных

Теперь, когда мы находимся в оболочке MySQL, давайте исследуем системные базы данных. Это базы данных, которые предустановлены вместе с MySQL и содержат важную информацию о самом сервере MySQL.

В оболочке MySQL выполните следующую команду:

SHOW DATABASES;

Примечание: Не забудьте про точку с запятой (;) в конце команды. SQL-команды должны заканчиваться точкой с запятой.

Вывод списка баз данных MySQL

Эта команда выводит список всех баз данных, присутствующих на вашем сервере MySQL. Вы должны увидеть вывод, похожий на следующий:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

Разберем, что представляют собой эти базы данных:

  • information_schema: Это база данных, которая предоставляет доступ к метаданным базы данных.
  • mysql: Эта база данных содержит информацию, необходимую серверу MySQL для его работы.
  • performance_schema: Эта база данных позволяет изучать внутреннее выполнение сервера во время его работы.
  • sys: Эта база данных содержит набор объектов, которые помогают администраторам баз данных (DBA) и разработчикам интерпретировать данные, собранные performance_schema.

В рамках этого практического занятия мы сосредоточимся на базе данных mysql. Переключимся на нее:

USE mysql;

Теперь давайте посмотрим, какие таблицы есть в этой базе данных:

SHOW TABLES;

Вы увидите длинный список таблиц. Эти таблицы хранят различные конфигурационные и операционные данные для MySQL.

Просмотр данных в системных таблицах

Теперь, когда мы увидели системные таблицы, давайте рассмотрим данные в одной из них. Таблица user в базе данных mysql содержит информацию о пользовательских учетных записях MySQL.

Выполните следующую команду, чтобы посмотреть структуру таблицы user:

DESCRIBE user;

Это покажет вам все столбцы таблицы user. Вы увидите много столбцов, так как эта таблица содержит подробную информацию о каждом пользователе MySQL.

Теперь давайте посмотрим на некоторые данные в этой таблице. Мы сосредоточимся на нескольких ключевых столбцах:

SELECT User, Host, Password_expired FROM user;

Этот запрос выбирает три важных столбца из таблицы user:

  • User: Имя пользователя учетной записи MySQL
  • Host: Хост, с которого этому пользователю разрешено подключаться
  • Password_expired: Флаг, указывающий, истек ли срок действия пароля

Вы должны увидеть вывод, похожий на следующий:

+-------------+-----------+------------------+
| User        | Host      | password_expired |
+-------------+-----------+------------------+
| mariadb.sys | localhost | Y                |
| root        | localhost | N                |
| mysql       | localhost | N                |
+-------------+-----------+------------------+
3 rows in set (0.001 sec)

Этот вывод показывает нам существующие на системе учетные записи пользователей MySQL. Пользователь root - это основная административная учетная запись, в то время как остальные - это системные учетные записи, используемые MySQL для различных целей.

Чтобы выйти из оболочки MySQL, введите:

EXIT;

Это вернет вас к обычному приглашению терминала.

Итоги

В этом практическом занятии мы рассмотрели основные этапы работы с MySQL в среде Docker. Мы проверили установку MySQL, обеспечили безопасность начальной настройки, получили доступ к оболочке MySQL, исследовали системные базы данных и просмотрели данные в системных таблицах.

Мы научились:

  1. Проверять и управлять статусом службы MySQL
  2. Получать доступ к оболочке MySQL
  3. Просматривать системные базы данных
  4. Исследовать таблицы в системных базах данных
  5. Выполнять запросы к данным в системных таблицах

Эти базовые навыки являются основой для более сложных задач управления базами данных. По мере продолжения изучения MySQL вы будете использовать эти основы для создания собственных баз данных, написания сложных запросов и интеграции MySQL с различными приложениями. Помните, что практика - ключ к овладению управлением базами данных, поэтому не стесняйтесь экспериментировать с разными командами и дальше исследовать возможности MySQL.