DREAMSKILLS
MySQL
MySQL — это реляционная система управления базами данных (СУБД), которая распространяется как свободное программное обеспечение. Является одной из наиболее популярных, так как отличается гибкостью, легкостью, удобством в использовании. Слово «реляционный» означает, что базы представлены в виде связанной информации и описываются как набор связей. MySQL работает с языком запросов SQL, который традиционно используется в базах данных.
Кто пользуется MySQL

  • Бэкенд-разработчики, задача которых — управлять базой данной на серверной стороне сайта или приложения.
  • Разработчики десктопных и мобильных приложений, в которых есть база данных для хранения информации.
  • Администраторы баз данных — специалисты, которые занимаются построением и настройкой базы.
В основном MySQL используется для работы со средними и небольшими проектами. Она имеет открытый исходный код, поэтому любой разработчик может с ним ознакомиться. Сейчас систему поддерживают известная компания Oracle и независимое сообществоразработчиков-энтузиастов.

Для чего нужна MySQL

  • Удобный доступ к базам данных.
  • Корректное распределенное хранение данных на сервере.
  • Быстрый поиск нужной информации в базе с помощью языка SQL.
  • Идентификация и обработка отдельных данных, их преобразование и отправка.
  • Создание, редактирование и удаление записей, которые есть в базе.
  • Отправка транзакций — «пакетов» из нескольких запросов к базе.
  • Множественный доступ к базе с разных устройств — например, из браузеров нескольких пользователей.
  • Выдача разных прав доступа различным пользователям.
  • Обеспечение безопасности данных: их защита, шифрование и контроль доступа.
  • Возможность контролировать версии базы данных: делать бэкапы, обновлять базу или откатывать назад.
  • Контроль состояния базы данных.
Как устроена база данных MySQL
MySQL имеет клиент-серверную архитектуру. Это означает, что база данных хранится в одном источнике — на сервере. А связываться с ней могут клиенты — сторонние устройства. Клиенты отправляют запросы к БД, а потом получают от сервера информацию.
Примерно таким образом работают сайты: в их «внешней», видимой человеку части есть возможность послать на сервер запрос. Это любая отправка формы: вход в личный кабинет, публикация комментария или поиск по сайту.
Клиент-серверная архитектура делает хранение данных безопаснее: клиентские компьютеры не могут получить к ним бесконтрольный доступ. Им открывается только часть данных, которую можно получить по запросу. Вся информация находится на сервере, а клиенты не перегружены, поэтому им не нужны большие вычислительные мощности.
Распространено выражение «сервер MySQL», которое как раз обозначает расположенную на сервере базу данных под контролем этой СУБД.

Преимущества MySQL

Гибкость. СУБД легко настраивается под индивидуальные потребности и особенности конкретного сайта. Для нее есть много дополнительных расширений или плагинов, она легко устанавливается на хостинги. Некоторые хостинги позволяют подключить сервер MySQL в несколько кликов. Система поддерживает множество типов таблиц и может работать внутри автономных программ. Так как проект бесплатный и имеет открытый исходный код, энтузиасты добавляют поддержку новых видов таблиц.

Универсальность. MySQL работает на ОС семейств Windows, Linux, Unix, Solaris и других. Также СУБД имеет API для большинства популярных языков программирования: C и C++, PHP, Python, Ruby, Java и других. Хотя в основном MySQL используется для веб-проектов, она может работать автономно — в систему входит специальный внутренний сервер. Он позволяет поднять локальную базу данных на конечном устройстве — так хранят информацию приложения, которые не взаимодействуют с сетью.

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

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

Безопасность. MySQL обеспечивает высокий уровень безопасности при хранении и передаче данных. У системы продвинутая система контроля прав для разных пользователей, есть шифрование и верификация. Для СУБД существуют плагины, которые увеличивают уровень безопасности на стороне сервера и дополнительно защищают данные.

Популярность. Благодаря бесплатному доступу, простому входу и универсальности MySQL — одно из самых популярных решений для управления БД. У системы развитое сообщество по всему миру, на ней реализовано множество проектов, и специалисты, умеющие с ней работать, ценятся везде.

Недостатки MySQL
Медленное развитие. Система бесплатная, поэтому обновления выходят редко. Это популярный недостаток открытого ПО. В случае с MySQL медленное развитие связано с политикой компании Oracle. Она осторожно относится к идеям независимых разработчиков и не слишком активно работает с проектом сама.

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

Снижение производительности при работе с большими проектами. Система отлично работает на небольших и средних базах данных. Но в больших проектах MySQL может начать вести себя непредсказуемо из-за множества одновременных запросов к базе. Это связано со структурными особенностями MySQL — изначально она не была предназначена для таких задач.

Как начать работу с MySQL


MySQL Workbench упрощает многие аспекты работы с БД: создание таблиц и связей между ними, создание триггеров и процедур, визуальное представление схемы, настройка БД и создание резервных копий.

На этом курсе мы покажем, как работать с MySQL Workbench. Мы создадим кластер СУБД MySQL, установим Workbench и подключимся к кластеру. Затем попробуем разные способы создания таблиц и работы с данными. Также создадим бекап базы данных и восстановим его. Все это на пошаговых примерах с описанием и скриншотами.


MySQL Workbench — универсальный инструмент для работы и управления базами данных. С его помощью можно создавать и редактировать таблицы и другие объекты, управлять доступом пользователей и полноценно администрировать БД. Workbench может пригодиться разработчикам, администраторам БД и архитекторам систем.


Несмотря на название, он может работать не только с MySQL, но и с другими СУБД: Oracle Database, Microsoft SQL Server, PostgreSQL и другими.

Одна из главных особенностей Workbench — визуальное моделирование. Оно позволяет увидеть все таблицы и связи между ними в наглядном виде. Это намного упрощает проектирование базы данных.

Перейдем к практике.