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

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

Введение

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

Проверка установки 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 в виртуальной машине LabEx. Мы проверили установку MySQL, обеспечили безопасность первоначальной настройки, получили доступ к командной строке MySQL, изучили системные базы данных и проанализировали данные в системных таблицах.

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

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

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