Как установить и использовать MySQL Workbench
В статье узнаете, как создавать таблицы, добавлять в них поля и указывать их свойства, а также как экспортировать базу данных.
Эта инструкция — часть курса «MySQL для новичков».
Смотреть весь курс
Введение
При помощи SQL-скриптов довольно просто создать базу данных из нескольких таблиц. В ней легко ориентироваться и всю схему можно держать в голове. Такие БД встречаются только в небольших или учебных проектах.
В реальных системах базы данных содержат десятки и сотни таблиц, процедур, представлений и триггеров. Невозможно удержать все эти объекты и связи между ними в голове. И когда в такую схему нужно добавить новую таблицу или разобраться в существующей структуре, хочется увидеть все таблицы перед глазами.
С этим может помочь инструмент MySQL Workbench. Он упрощает многие аспекты работы с БД: создание таблиц и связей между ними, создание триггеров и процедур, визуальное представление схемы, настройка БД и создание резервных копий.
В статье мы покажем, как работать с MySQL Workbench. Мы создадим кластер СУБД MySQL, установим Workbench и подключимся к кластеру. Затем попробуем разные способы создания таблиц и работы с данными. Также создадим бекап базы данных и восстановим его. Все это на пошаговых примерах с описанием и скриншотами.
Что такое MySQL Workbench
MySQL Workbench — универсальный инструмент для работы и управления базами данных. С его помощью можно создавать и редактировать таблицы и другие объекты, управлять доступом пользователей и полноценно администрировать БД. Workbench может пригодиться разработчикам, администраторам БД и архитекторам систем.
Несмотря на название, он может работать не только с MySQL, но и с другими СУБД: Oracle Database, Microsoft SQL Server, PostgreSQL и другими.
Одна из главных особенностей Workbench — визуальное моделирование. Оно позволяет увидеть все таблицы и связи между ними в наглядном виде. Это намного упрощает проектирование базы данных.
Перейдем к практике.
Создать облачную СУБД MySQL
Перед началом работы с Workbench нужно установить и запустить MySQL. Мы создадим кластер на платформе Selectel, это позволит быстро развернуть БД и не заниматься установкой и настройкой сервера.
Облачные базы данных
Готовые к работе кластеры баз данных в облаке с развертыванием в несколько кликов.
В панели управления заходим в раздел «Облачная платформа» — «Базы данных», нажимаем кнопку «Создать кластер».

На экране создания кластера выбираем параметры. Мы покажем лишь некоторые параметры, остальные можно оставить по умолчанию. Выбираем «СУБД» — MySQL 8, «Конфигурация нод» — «Фиксированная», 2 vCPU, 4 ГБ оперативной памяти и 32 ГБ места на диске. В разделе «Сеть» нужно выбрать публичную подсеть, чтобы к кластеру можно было подключаться из интернета.

После этого внизу страницы нажимаем кнопку «Создать кластер». Кластер будет создаваться несколько минут, и после того, как он перейдет в статус ACTIVE, можно продолжать настройку. Нажимаем на имя кластера.

К кластеру облачных баз данных MySQL sync можно подключиться по DNS-адресу.
Если кластер подключен к приватной подсети и вы хотите работать с ним через DNS, подключите к подсети кластера облачный роутер с доступом во внешнюю сеть.

Затем переходим на вкладку «Пользователи». Нужно создать нового пользователя, для этого нажимаем на соответствующую кнопку.

Интерфейс платформы автоматически предложит имя пользователя и пароль. Не забудьте сохранить пароль, потому что его нельзя восстановить и можно только поменять.
Далее создадим базу данных, в которой мы потом будем создавать таблицы. Перейдите на вкладку «Базы данных», нажмите кнопку «Создать базу данных» и укажите имя.

Все, наш удаленный сервер MySQL готов к работе.
Установить MySQL Workbench и подключиться к кластеру
Теперь установим MySQL Workbench и подключимся к созданному кластеру. Перейдите на страницу загрузки, выберите вашу операционную систему. Мы покажем, как установить MySQL Workbench на примере Windows. Если у вас Linux или MacOS, то после выбора ОС из списка появятся соответствующие инструкции, воспользуйтесь ими.

Нажимаем кнопку Download, и на следующем экране нам предложат войти в аккаунт Oracle или создать его. Отказываемся, нажимаем кнопку No thanks, just start my download, и просто скачиваем установщик.
Запускаем скачанный файл, во всех диалоговых окнах оставляем значения по умолчанию. После установки запускаем MySQL Workbench. При первом запуске нас встретит приветственное окно. Для начала нужно добавить подключение к нашему кластеру. Для этого нажимаем на кнопку «+», рядом с текстом MySQL Connections.

Откроется экран настройки.
- Указываем имя соединения — это позволит различать подключения, если вы работаете с несколькими серверами.
- Указываем IP-адрес кластера и порт. Обратите внимание, что по умолчанию в Workbench указан порт 3306. Нам нужно указать 6033, как указано в параметрах подключения на платформе Selectel.
- Указываем имя пользователя.

Эти настройки сохранятся и в дальнейшем их не нужно будет вводить заново. Нажимаем кнопку OK и в следующем диалоговом окне вводим пароль.
Мы подключились к кластеру MySQL. В левой части экрана перейдя на вкладку Schemas, вы увидите БД, которую мы создавали ранее в интерфейсе Selectel. Обратите внимание, что в интерфейсе Workbench это называется «схема», но это одно и то же.

Создать таблицы
Мы покажем два разных способа, как это сделать. Сначала создадим две таблицы справочников:
- Справочник товаров.
- Справочник магазинов.
Затем создадим еще одну таблицу, в ней будет храниться связь: в каких магазинах какие товары продаются.
Дважды кликнем на названии схемы, чтобы она выделилась жирным шрифтом. Это означает, что теперь все действия по умолчанию мы выполняем в этой схеме. Затем в панели инструментов нажимаем на иконку создания новой таблицы.

Откроется окно создания новой таблицы. Нужно заполнить несколько полей:
- Название таблицы: products.
- Комментарий. Указывать не обязательно, но желательно. Наша схема будет состоять всего из трех таблиц, в ней не запутаешься. Но когда базы данных разрастаются до больших размеров, комментарии помогают ориентироваться в таблицах.
- Поля. Мы создадим два поля. Первое — id, идентификатор товара. Выбираем тип INT, отмечаем галочки PK (Primary Key), NN (Not Null) и AI (Auto Increment). Тем самым мы указали, что это поле — первичный ключ, его значение не может быть пустым и должно генерироваться автоматически. Второе поле — name, название товара. Выбираем тип VARCHAR, длина 45 символов, и отмечаем галочку NN, чтобы у всех товаров было название.
- Комментарии для полей. Рекомендуем заполнять их, как комментарий ко всей таблице.

Далее нажимаем кнопку Apply. Workbench отобразит скрипт, который он сгенерировал для создания этой таблицы. Перед применением скрипт можно проверить или изменить.

Затем по такому же принципу создаем вторую таблицу — справочник магазинов.

Теперь наполним справочники данными. Нажмите правой кнопкой мыши на таблице products и выберите пункт Select Rows.

Откроется окно, в верхней части которого можно писать SQL-запрос, а в нижней отобразится результат. Добавлять новые записи в таблицу можно как при помощи SQL, так и графического представления.

Мы воспользуемся графическим интерфейсом: в нижней части окна создадим несколько строк. Достаточно указать названия товаров, а идентификатор заполнится автоматически. Затем нажмем кнопку Apply.

Workbench снова покажет скрипт перед тем, как применить действия. Его можно проверить или изменить.
Точно также добавим несколько записей в таблицу stores.

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

Модель можно создать несколькими способами.
- Создать новую модель с нуля. Это подходит для случаев, когда Workbench используется с самого старта проекта. Тогда все таблицы можно создавать и изменять в модели.
- Создать из существующей схемы или скрипта. Это подходит для случаев, когда БД уже создана, и теперь нужно перевести ее в графический вид.
Мы воспользуемся вторым способом: импортируем наши таблицы, а затем в одну из них добавим новое поле и создадим еще одну таблицу для связи.
В главном меню Workbench выбираем Database — Reverse Engineer. Дальше — выберем созданное ранее подключение и в следующем окне отметим, что нужно импортировать нашу схему.

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

Мы уже знаем, как самим создавать таблицу в MySQL Workbench. А теперь посмотрим, как это можно сделать автоматически. Нам нужна еще одна таблица, в которой будет храниться связь: какой товар в каком магазине продается. Самый простой способ это сделать — использовать инструмент n:m Relationship. Выбираем его на панели инструментов, а потом по очереди кликнем на каждую таблицу.

MySQL Workbench сам создаст новую таблицу, даст ей имя и добавит в нее поля.

Обратите внимание, что поля stores_id и products_id являются одновременно и первичными (primary key), и вторичными ключами (foreign key). Это означает, что в эту таблицу можно будет добавить только те товары и магазины, которые есть в справочниках. К тому же, в таблице нельзя будет создать две одинаковые записи. Это как раз то, что нам нужно.
Теперь добавим в справочник магазинов поле с адресом. Для этого два раза кликнем на таблице Stores, и в нижней части окна появится область для редактирования полей. Эта область аналогична той, с которой мы работали при создании первых двух таблиц. Создадим новое поле Address.

Мы внесли изменения, которые хотели. Но если сейчас посмотреть на схему, то мы увидим, что на самом деле в таблицах ничего не поменялось. Нет ни новой таблицы, ни нового поля. Это потому, что модель не связана с БД явно. В процессе импорта мы создали модель на основе существующей схемы, но они никак между собой не связаны. Схема может жить своей жизнью, а модель — своей. Чтобы перенести изменения из модели в схему, нужно сделать это явно.
Для этого в главном меню Workbench выбираем пункт Database — Synchronize Model, в открывшемся окне выбираем соединение. Далее во всех окнах оставляем значения по умолчанию и нажимаем кнопку Next.
Затем Workbench проанализирует различия в модели и схеме и сгенерирует скрипты для обновления схемы. На скриншоте видно, что создастся одна новая таблица, и в существующую таблицу добавится новое поле.

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

Импорт и экспорт данных
Рассмотрим еще две полезные функции MySQL Workbench — экспорт и импорт. Они позволяют экспортировать схему со всеми таблицами и данными, и затем импортировать в новую БД. Это может быть полезно для создания резервных копий или переноса БД на другой сервер.
Сначала мы экспортируем схему, потом удалим все таблицы в ней и затем восстановим таблицы из бекапа.
В главном меню Workbench выберем пункт Server — Data Export. В открывшемся окне выберите схему и все таблицы в ней. Затем укажите путь, куда сохранить файлы и нажмите кнопку Start Export. В окне есть и другие дополнительные опции, но для нашего примера достаточно значений по умолчанию.

Чтобы показать процесс восстановления, мы удалим все существующие таблицы. Для этого выделите их и в контекстном меню нажмите Drop 3 Tables.

В открывшемся диалоговом окне выберите вариант Drop Now. Теперь у нас снова пустая схема, как было в самом начале.

Теперь будем восстанавливать данные. Зайдем в главное меню Workbench, Server — Data Import. Выбираем директорию, где мы сохранили дамп, отмечаем схему и все таблицы. Затем нажимаем кнопку Start Import.

Сразу после окончания импорта мы не увидим таблицы, сначала нужно обновить схему. Для этого в контекстном меню выбираем пункт Refresh All.

Видим, что все таблицы восстановились. Проверим данные в них — все на месте. Значит импорт прошел успешно.

Этот сценарий может использоваться для создания резервных копий и их восстановления.
Но так как мы пользуемся управляемой СУБД на платформе Selectel, нам не нужно заботиться о создании бэкапов, это делается автоматически.
Заключение
Мы познакомились с инструментом MySQL Workbench и узнали, для чего он используется. Научились создавать таблицы, добавлять в них поля и указывать их свойства. Также поработали со схемами — удобным графическим способом представления таблиц. Напоследок узнали, как с помощью MySQL Workbench экспортировать базу данных, и затем восстановить ее.
Теперь вы можете подключаться к своим рабочим проектам или создавать новую архитектуру БД с нуля.
Работа с командой UPDATE — как обновить данные в таблице MySQL
Как создать первичные и внешние ключи MySQL
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Читайте также:
Инструкция
Как создать веб-приложение на базе Telegram Mini Apps
Инструкция
Что делает команда chmod и как ее использовать в Linux
Инструкция
Как разработать gRCP-сервис на Go
Работа в приложении MySQL Workbench
MySQL Workbench — это инструмент визуального проектирования баз данных, который объединяет проектирование, моделирование, создание и эксплуатацию баз данных. Его возможности нам пригодятся для:
• осуществления резервного копирования и восстановления базы данных (также полезно для переноса базы данных на другой компьютер);
• настройки для подключения к удаленной базе данных;
• изменения пути сохранения базы данных — «по умолчанию» сохраняется на диск «C»;
• просмотра статистики базы данных;
Если база данных была установлена согласно инструкциям в предыдущем разделе, то MySQL Workbench был установлен вместе с MySQL, в противном случае ее можно скачать по этой ссылке: http://dev.mysql.com/downloads/workbench/
После запуска MySQL Workbench вам необходимо выбрать экземпляр сервера MySQL, чтобы подключиться к нему. В нашем случае он всего один (локальный) — нажимаем на него:

Введите пароль пользователя root (который был введен при настройке MySQL):

После подключения к серверу MySQL мы увидим стартовую страницу, которая содержит:
• Administration — настройки сервера MySQL.
• Schemas (Database area) — здесь отображается список созданных баз данных. Также при первом включении здесь могут отображаться тестовые базы данных — их можно удалить, щелкнув по названию базы с помощью правой клавишью мыши и выбрав «Drop Schema» во всплывающем меню.
Создание базы данных
Вам необходимо создать базу данных вручную:
Откройте закладку «Schemas». Нажмите иконку «Create a new schema in the connected server»:

Введите «Name» имя схемы и нажмите Apply:

Появится окно «Apply SQL script to Database» . Нажмите Apply:

Затем нажмите «Finish»:

Установка часового пояса сервера
Если при первом запуске TeslaSCADA2 IDE или TeslaSCADA2 Runtime появляется сообщение об ошибке, подобное этому:

Вы можете исправить это двумя способами:
1 . Установить глобально с помощью запроса SQL (это временное решение, после перезапуска сервера MySQL проблема вернется).
Для этого вам необходимо настроить часовой пояс для своего сервера My SQL, чтобы сделать это, откройте MySQL Workbench и щелкните значок «Create a new SQL tab for executing queries»:

Введите: SET GLOBAL time_zone = ‘+3:00’, где вместо ‘+3:00’, Вам необходимо ввести ваш часовой пояс. И затем нажать иконку «Execute. «:

Теперь Вы можете снова попробовать Запустить проект TeslaSCADA2 в TeslaSCADA2 IDE или в TeslaSCADA2 Runtime.
2 . Изменить файл my.ini (Windows) или файл my.inf (Linux).
2.1 Найдите файл my.ini или my.inf. Это файл инициализации для сервера MySQL. Обычно он помещается в C:/ProgramData/MySQL/MySQL Server 8.0/:

2.2. Откройте файл my.ini и добавьте эту строку: default-time-zone=’+03:00′, где вместо ‘+3: 00’, нужно указать свой часовой пояс.
2.3. Сохраните файл (Ваш текущий пользователь должен иметь доступ к этой папке).
2.4. Перезагрузите сервер MySQL.
Теперь Вы можете снова попробовать запустить проект TeslaSCADA2 в TeslaSCADA2 IDE или в TeslaSCADA2 Runtime.
Настройки, необходимые для подключения к удаленной базе данных

1. Выберите пункт «Users and Privileges».
2. Выберите пользователя «root».
3. В поле «Limit to Hosts Matching» введите «%».
4. Сохраните настройки нажав кнопку «Apply».
Теперь вы можете подключиться к базе данных с удаленного ПК.
Изменение пути сохранения базы данных
Чтобы изменить путь для сохранения базы данных, необходимо сделать следующее:
• остановить службу MySQL через службы Windows;
• переместить весь каталог «данных» из текущего местоположения (по умолчанию «C: \ ProgramData \ MySQL \ MySQL Server 5.x \ data») в новый (вырезать — вставить).
Далее вам необходимо запустить MySQL Workbench «as administrator» и изменить параметр «datadir» на новое расположение директории «data»:
Дамп базы MySQL
Для создания резервной копии зайдите в интерфейс PHPMyAdmin.
- Слева на странице выберите нужную базу данных.
- Перейдите на вкладку Экспорт.

- При необходимости измените настройки экспорта и нажмите кнопку Вперед в нижней части страницы.

Файл с содержимым базы данных будет загружен на ваш компьютер. Для работы с базами большого объема рекомендуем воспользоваться подключением из командной строки.
Импорт дампа базы данных
Мы рекомендуем создать новую базу данных и выполнить в нее импорт дампа.
Для восстановления базы зайдите в интерфейс PHPMyAdmin и выполните следующие действия:
- В левой колонке выберите новую базу данных.
- Откройте вкладку Импорт.
- Нажмите на кнопку Выберите файл и укажите файл дампа, сохраненный на вашем компьютере. Если размер дампа больше 1 ГБ в распакованном виде, то он может быть импортирован только из командной строки.
- Задайте кодировку файла (обычно она совпадает с кодировкой сайта).
- При необходимости измените настройки импорта и нажмите кнопку Вперед, дождитесь окончания импорта.

После того как база данных будет импортирована, измените в файлах конфигурации сайта название старой базы на новую, проверьте работоспособность. Для работы с базами большого объема рекомендуем воспользоваться подключением из командной строки.
Работа с дампом из командной строки
Подключение к хостингу по SSH позволяет работать с базами данных удаленно, без необходимости загрузки дампов на ваш компьютер. Работа с дампами баз данных размером более 1ГБ в распакованном виде возможна только из командной строки.
Для создания дампа базы данных выполните команду:
mysqldump -y -f -q —default-character-set=binary —create-options —single-transaction —skip-extended-insert —add-drop-table -h dbhost -u dbuser -pdbpassword dbname > dump .sql
dbhost — адрес сервера баз данных,
dbuser — имя MySQL-пользователя,
dbpassword — пароль MySQL-пользователя (пишется слитно с параметром -p),
dbname — название базы данных,
dump.sql — название дампа базы данных. Дамп будет создан в текущем каталоге.
Для импорта дампа в базу данных выполните команду:
mysql -h dbhost -u dbuser -pdbpassword dbname < dump.sql
Мы рекомендуем предварительно создать новую базу данных и выполнить в нее импорт дампа. Дамп базы данных должен быть загружен на хостинг (см. статью FTP — загрузка файлов на сервер)
После того как база данных будет импортирована, измените в файлах конфигурации сайта название старой базы на новую, проверьте работоспособность.
Руководство Simple-Scada
Чтобы минимизировать риск необратимой потери данных, необходимо создавать резервные копии баз данных. При создании резервных копий БД, можно будет восстановить данные после многих видов сбоев, включая следующие:
• ошибки пользователей БД (например, удаление таблицы по ошибке);
• сбои оборудования (например, поврежденный дисковый накопитель или безвозвратная потеря данных на сервере);
Кроме того, резервные копии баз данных полезны и при выполнении повседневных административных задач, например для копирования баз данных с одного сервера на другой.
Резервное копирование БД
Рассмотрим процесс создания резервной копии при помощи программы MySQL Workbench:

1. Выбираем пункт Data Export.
2. Отмечаем необходимую БД.
3. Проверяем чтобы в данном поле было выбрано «Dump Structure and Data» — создать резервную копию структуры и данных БД. Если в БД используются хранимые процедуры, то отмечаем пункт «Dump Stored Procedures and Functions» расположенный ниже.
4. Выбираем пункт «Export to Self-Contained File» и указываем путь сохранения резервной копии.
5. Важно! Если нужно создать резервную копию во время работы сервера Simple-Scada, то рекомендуется перейти в Advanced Options и снять галочку «lock-tables» (заблокировать таблицу).
6. Жмем кнопку «Start Export».
Важно! Время создания резервной копии напрямую зависит от размера БД.
Восстановление БД из резервной копии
Перед восстановлением рекомендуется создать новую таблицу, в которую будут импортированы данные из резервной копии, для этого нужно кликнуть в области отображения БД правой кнопкой мыши — появится всплывающее меню, в котором нужно выбрать «Create Schema»:

1. Кликаем ПКМ в области БД, выбираем «Create Schema».
2. Вводим имя БД. Для подключения восстановленной БД к Simple-Scada необходимо прописать это имя в настройках редактора («Проект -> Настройки -> База данных»).
3. Жмем Apply. Таблица создана, теперь можно импортировать в нее данные.

1. Выбираем пункт Data Import/Restore
2. Выбираем «Import from Self-Contained File» и указываем путь к файлу резервной копии.
3. Выбираем имя только что созданной таблицы.
4. Проверяем, чтобы в данном поле было выбрано «Dump Structure and Data».
5. Жмем кнопку «Start Import».
Важно! Время восстановления из резервной копии напрямую зависит от размера БД.