Подключение к базе данных и оболочка SQL

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

Введение

MySQL и MariaDB — реляционные системы управления базами данных, предназначенные для хранения и организации данных приложений. В отличие от обычных файлов, сервер базы данных рассчитан на обработку структурированных запросов, одновременный доступ, управление разрешениями и надёжное постоянное хранение данных.

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

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

Вы отработаете базовый рабочий процесс администратора базы данных:

  1. Подключение к серверу с соблюдением требований безопасности.
  2. Просмотр баз данных, хранящихся на сервере.
  3. Выбор базы данных, с которой предстоит работать.
  4. Безопасное отключение после завершения работы.

Подключитесь к серверу базы данных

Для работы с базой данных MySQL используется клиент командной строки mysql. Он позволяет отправлять команды серверу и просматривать результаты их выполнения.

На этом шаге вы войдёте в систему от имени пользователя root. Пользователь root — это учётная запись супер администратора с полным доступом ко всем объектам на сервере базы данных.

Не путайте пользователя root базы данных с пользователем root в Linux. Это разные административные учётные записи в разных системах, даже если обе обладают высокими привилегиями.

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

mysql -u root -p

Назначение параметров:

  • -u root — задаёт username, то есть имя пользователя (root).
  • -p — указывает клиенту запросить пароль.

После нажатия клавиши Enter система запросит пароль.

Введите root и нажмите Enter.

Примечание по безопасности: при вводе пароля в терминале Linux на экране не отображаются никакие символы — ни звёздочки, ни точки. Это защищает пароль от людей, которые могут видеть ваш экран, в том числе от раскрытия его длины. Просто вслепую введите root и нажмите Enter.

После успешной аутентификации приглашение оболочки изменится на mysql>. Это означает, что вы вышли из командной строки Linux и перешли в среду MySQL.

С этого момента команды отправляются серверу базы данных как инструкции SQL. Именно поэтому приглашение изменилось: теперь вы работаете в другом языке команд и в другом контексте.

Просмотрите доступные базы данных

После подключения можно посмотреть, какие данные хранятся на сервере. Один сервер MySQL может управлять множеством разных баз данных: например, одной для блога, другой для каталога пользователей и ещё одной для метрик.

Чтобы вывести список всех баз данных, доступных вашему пользователю, выполните в приглашении mysql> следующую команду SQL:

SHOW DATABASES;

Важное правило: команды SQL должны заканчиваться точкой с запятой ;.

Так клиент SQL определяет, где заканчивается одна инструкция. В интерактивной оболочке точка с запятой служит явным маркером «выполнить сейчас».

Она сообщает серверу: «Я закончил ввод команды, выполните её сейчас».

Если забыть точку с запятой и нажать Enter, появится приглашение ->. Это означает, что сервер ожидает продолжения команды. Чтобы исправить ситуацию, просто введите ; и нажмите Enter.

В результате вы должны увидеть список, в который входят стандартные системные базы данных: information_schema, mysql, performance_schema и sys.

Выберите базу данных

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

Один сервер базы данных может размещать множество отдельных баз данных. Команда USE изменяет текущий контекст, и последующие инструкции SQL выполняются относительно выбранной базы данных.

Мы выберем внутреннюю системную базу данных с именем mysql. В ней хранятся учётные записи пользователей и их привилегии.

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

USE mysql;

Вы должны увидеть сообщение Database changed.

Примечание: для команды USE точка с запятой формально не обязательна, но рекомендуется всегда её ставить.

Выйдите из оболочки SQL

Завершив работу с базой данных, корректно закройте подключение. После этого вы вернётесь к стандартной командной строке Linux.

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

exit

Появится сообщение Bye, а приглашение вернётся к привычному виду labex:~/project$.

Совет: для выхода также можно использовать команду quit или сочетание клавиш Ctrl + D.

Итоги

В этой лабораторной работе вы освоили «Hello World» взаимодействия с базой данных:

  • Безопасное подключение с помощью mysql -u -p.
  • Просмотр доступных баз данных с помощью SHOW DATABASES;.
  • Смена контекста с помощью USE <database>;.
  • Безопасный выход из среды.

Эти четыре простые команды — основа всех дальнейших действий с MySQL.