Пошаговое руководство. Настройка MySQL 5.1 для приложений PHP
В этой статье представлено базовое пошаговое руководство по установке и настройке MySQL в операционной системе Windows. Более подробные инструкции по установке и настройке MySQL в Windows см. в официальной документации по MySQL.
Скачивание и установка MySQL
Двоичные файлы и установщик MySQL можно скачать с официального сайта MySQL. Инструкции в этой статье основаны на MySQL версии 5.1 Community Edition, установленной вместе с установщиком WINDOWS MSI.
Запустите установщик и выберите вариант установки. В большинстве случаев достаточно стандартной установки:

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

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

На следующей странице выберите параметр тип сервера:

Выберите параметр «Использование базы данных»:

Параметры использования базы данных определяют, какой тип ядра хранилища СУБД используется на сервере:
- MyISAM — оптимизирован для высокопроизводительных операций SELECT. Он имеет низкие издержки с точки зрения использования памяти и использования диска, но за счет не поддержки транзакций
- InnoDB — предоставляет полностью транзакционные возможности ACID, но за счет более агрессивного использования дискового пространства и памяти.
Подробное сравнение этих ядр СУБД см. в статье Архитектура ядра хранилища MySQL. Как правило, если веб-приложениям на сервере требуются транзакции с несколькими инструкциями, расширенные уровни изоляции и блокировки на уровне строк, ограничения внешнего ключа или другие требования к функциям ACID, используйте InnoDB. В противном случае используйте MyISAM.
Затем выберите количество одновременных подключений к серверу:

На следующей странице выберите параметры сети:

Если у вас есть mysql и веб-сервер на одном компьютере, вы можете не включить сеть TCP/IP и вместо этого использовать именованные каналы. Обратите внимание, что для некоторых приложений PHP может потребоваться TCP-подключение к MySQL. Сведения о поддержке подключения именованных каналов к MySQL см. в документации по приложению.
Выберите набор символов по умолчанию, который будет использоваться при создании баз данных:

Затем убедитесь, что MySQL будет настроен в качестве службы Windows:

При необходимости можно добавить каталог MySQL Bin в переменную среды Windows PATH. Это упростит запуск средств MySQL из командной строки.
Наконец, укажите пароль для учетной записи администратора базы данных, которая в MySQL называется «root». Убедитесь, что флажок «Создать анонимную учетную запись» снят:

На следующей странице щелкните «Выполнить», чтобы применить все параметры конфигурации и запустить службу MySQL:

Теперь вы можете выполнить вход в MySQL, открыв окно командной строки и введя следующую команду:
mysql -u root -p Enter password: ******
Если MySQL был настроен правильно, отобразится запрос MySQL:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server Version 5.1.32-community MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
Обратная связь
Были ли сведения на этой странице полезными?
Как установить MySQL на Windows
Об особенностях работы MySQL на ОС Windows, о создании пользователей, оптимальной настройке производительности и устранении неполадок.
Эта инструкция — часть курса «MySQL для новичков».
Смотреть весь курс
Введение
MySQL — реляционная система управления базами данных с открытым исходным. Простота использования и низкий порог входа сделал ее одной из популярных свободно распространяемых систем управления базами данных. MySQL используется как во многих небольших проектах (например, сайтах на WordPress), так и в высоконагруженных корпоративных системах.
В этой статье мы рассмотрим особенности установки MySQL на операционную систему Windows и расскажем о создании пользователей, оптимальной настройке производительности, устранении неполадок и о многом другом.
Подготовка Windows-сервера к установке MySQL
Перед началом подготовки сервера, закажем лицензию для Windows. Без этого создать сервер не получится. Для этого перейдем на экран «Лицензии» и нажмем кнопку «Купить лицензию».
В открывшемся выпадающем меню выберем соответствующий типа лицензии Windows Server 2019 Standard и нажмем кнопку «Оплатить».
После этого в списке лицензий появится лицензия Windows Server 2019 Standard.
Теперь можно приступать к подготовке сервера на базе ОС Windows Server 2019. Для этого в панели управления Selectel перейдем на экран «Облачная платформа» и нажмем на кнопку «Создать сервер».
В качестве образа операционной системы необходимо выбрать образ операционной системы Windows. Для этого нажмем на кнопку «Выбрать другой источник».
В появившемся всплывающем меню выберем готовый образ операционной системы Windows Server 2019 Standard Legacy BIOS и нажмем на кнопку «Выбрать».
В разделе «Серверы» и привязываем к серверу созданную лицензию. После выполненных действий нажимаем на кнопку «Создать».
Через несколько минут сервер перейдет в состояние Active и к нему можно будет подключиться по протоколу RDP.
После создания сервера, ему автоматически присваивается пароль учетной записи Administrator. Под этой учетной записью мы и подключаемся по RDP.
После выполненных подготовительных действий, можно приступать к установке MySQL на Windows-сервер.
Установка MySQL
Перед началом установки скачаем дистрибутив из специального раздела на официальном сайте MySQL. Нажимаем кнопку Go to Download Page.
После перехода на страницу загрузки выбираем опцию Windows (x86, 32-bit), MSI Installer (mysql-installer-community) и нажимаем на кнопку Download. Это на самом деле 64-битная версия СУБД, которая отмечена вендором как 32-битная. В результате мы получим установочный пакет, который затем можно установить на сервер даже без подключения к интернету.
Также можно скачать версию mysql-installer-web-community, которая представляет собой автоматический установщик и работает при наличии подключения сервера к интернету. На серверах все же не часто можно встретить свободный доступ к интернету. После загрузки дистрибутива приступим к его установке.
Дистрибутив должен появиться в папке с загрузками. Теперь можем его выполнить из контекстного меню и начать установку.
В появившемся представлении выбираем в меню Full для установки всех компонентов СУБД. Для работы с базой данных будет достаточно установить Server Only. В примере мы выбрали Full, т.к. считаем, что для знакомства с базой данных дополнительно понадобится визуальная консоль для управления MySQL Workbench. Также будут полезны примеры данных, с которыми можно сразу начинать работу для эффективного изучения работы СУБД. Также есть возможность выбрать для установки отдельные элементы, выбрав в меню пункт Custom. Нажимаем кнопку Next.
На следующем экране появятся системные требования к установке, выполнив которые, установщик приведет систему в соответствие с ними. Нажмем на кнопку Execute.
После установки дополнительных пакетов нажимаем кнопку Next. Пакеты в статусе Manual являются опциональными и не будут препятствовать нормальной работе СУБД.
На следующем экране будут показаны устанавливаемые компоненты. Проверяем статус готовности к установке каждого компонента и нажимаем на кнопку Execute.
После установки компонентов убедимся в наличии статуса Complete по каждому из них. После этого нажмем на кнопку Next для перехода к следующему экрану.
На следующем представлении установщик предлагает выполнить конфигурацию компонентов MySQL Server, MySQL Router и Samples and Examples. Нажимаем кнопку Next.
В выпадающем меню Config Type выбираем Development Computer, т.к. установка выполняется в целях демонстрации. Для подключения к базе данных будем использовать протокол TCP/IP. Другие два варианта подключения, помимо TCP/IP, лучше использовать при локальном подключении, т.е. когда приложение установлено на том же сервере, что и база данных.
Например, метод подключения Shared Memory более производителен, он помогает избегать использование сетевого стека. Заметим, что в производственных средах метод подключения через TCP/IP более предпочтителен, т.к. приложение может иметь тенденцию к росту. Использование этого протокола в распределенной среде упрощает выявление и диагностику нештатного взаимодействия базы данных и приложения. Остальное оставляем по умолчанию и нажимаем кнопку Next.
На следующем экране выбираем тип аутентификации. Воспользуемся рекомендацией вендора, выберем пункт Use Strong Password Encryption for Authentication. Переключение на Use Legacy Authentication Method можем рассматривать только если драйвера приложения не поддерживают подключение к 8 версии MySQL. Нажимаем кнопку Next и переходим к следующему экрану.
На следующем экране установим пароль суперпользователя. Чтобы он был устойчивым к взлому, необходимо использовать символы в верхнем и нижнем регистрах, цифры и спецсимволы. Длина пароля должна быть не менее 8 символов. На этом же экране можно создать и другие пользовательские учетные записи. Созданием новых пользователей займемся после полной установки базы данных MySQL и ее компонентов. Далее нажимаем кнопку Next.
На следующем экране установщик предлагает запускать MySQL Server в виде Windows-сервиса и установить его имя. Это самый приемлемый вариант, т.к. в противном случае запуск MySQL придется выполнять из командной строки. Чекбокс Start the MySQL Server at System Startup оставляем по умолчанию, чтобы база данных запускалась вместе с запуском сервера. В разделе Run Windows Service as… оставим значение Standard System Account, т.к. нет никаких причин запускать сервис MySQL от специализированной учетной записи. В некоторых случаях это бывает необходимо. Нажимаем кнопку Next.
Следующий этап — выполнение конфигурации в автоматическом режиме. Нажимаем кнопку Execute.
После выполнения конфигурации в автоматическом режиме все этапы должны быть помечены зеленой галочкой. Нажимаем кнопку Finish.
Следующий этап — конфигурирование MySQL Router и встроенных примеров. Нажимаем Next.
На экране с конфигурацией MySQL Router оставляем все по умолчанию и нажимаем кнопку Finish. Это функционал позволяет распределять нагрузку между экземплярами MySQL в рамках кластера. В нашем случае при установке единственного экземпляра базы данных этот функционал не имеет смысла.
На следующем экране установщик предложит выполнить конфигурирование примеров — их загрузку в БД. Нажимаем Next.
После этого появится экран с полем для ввода реквизитов доступа к БД и кнопкой для тестирования подключения — Check. Вводим логин и пароль, которые задавали ранее и нажмем кнопку. После подтверждения успешного подключения нажмем на кнопку Next.
На следующем экране будет предложено проверить уже установленных в БД примеров и установить их (запустить скрипты). Нажимаем кнопку Execute.
После успешной проверки и установки нажимаем кнопку Finish.
На следующем экране будет выдано сообщение об успешной установке примеров в БД. Нажимаем кнопку Next.
На этом установка завершена. Перед нажатием на кнопку Finish выберем чекбокс напротив Start MySQL Workbench after setup, что позволит автоматически запустить соответствующую консоль управления.
Консоль запущена и можно переходить к работе с СУБД MySQL Server и ее дополнительной настройке.
Проверка работоспособности MySQL
После подключения к БД MySQL в окне для ввода запроса введем select 1 from dual и в результате в ответе получим 1. В нижней части рабочей области в поле Output зеленой галочкой отмечен успешный статус выполнения запроса.
Также мы можем перейти на вкладку Schemas и обнаружим тестовые данные, которые были загружены в базу данных во время установки. Из контекстного меню выполним запрос в таблицу film_actor. В ответе получим значения столбцов actor_id, film_id и last_update.
Базовая настройка MySQL
После проверки корректности исполнения запросов, добавим новую пользовательскую учетную запись. Для этого на вкладке Administration перейдем в представление Users and Privileges. Нажмем на кнопку Add Account и заполним поля Login Name, Password и Confirm Password. Остальное оставим без изменений.
Еще один важный экран — Options File. Располагается также на вкладке Administration. Здесь можно в графическом интерфейсе изменять переменные, которые задаются в конфигурационном файле my.ini.
В MySQL Workbench можно также следить за производительностью базы данных. Отдельные метрики сгруппированы для удобства просмотра. Здесь присутствуют следующие группы: Memory Usage, Hot Spots for I/O, High Cost SQL Statements, Database Schema Statistics, Wait Event Times, InnoDB Statistics и User Resource Use.
Заключение
В статье мы рассмотрели установку и базовую настройку MySQL Server. Этого достаточно для запуска простого проекта, например, блога на WordPress. При необходимости MySQL может поддерживать высоконагруженные проекты за счет возможности работы в режиме кластера высокой доступности.
MySQL — как запустить на Windows, или варианты организации рабочего окружения. Часть 1

Рассматривается версия Community. Материал ориентирован на тех, кто желает постичь основы управления базами данных, в частности, MySQL.
Необходимые компетенции: базовые навыки работы с командной строкой (консолью) MS Windows и самой операционной системой ( редактирование реестра, копирование, вставка, удаление объектов, строк в консоли ), 1-2 драгоценных часа жизненного цикла :-).
В статье приведены многочисленные ссылки на разъясняющий материал — не пропадете :-). Вопросы, предложения и комментарии читателей приветствуются. Перед тем, как написать возмущенный комментарий, представьте на минуточку орду изголодавшихся фанатов MySQL на Хабре, жаждущих чьей-то крови :-).
Мотивация
Скорый обзор публикаций по ключевым словам в поисковике выявил ряд материалов — сборников сборной солянки, как мне показалось, в т.ч. ошибок и неточностей. Наиболее интересными по содержанию показались следующие материалы Рунета:
- Изучаем переменные среды в Windows 10
- Переменные среды Windows
- Переменные среды Windows 10-11
- не могу не отметить инструкцию для MySQL на английском с непереводимым, но очень метким названием «Put MySQL in PATH»
- а также переведенную, очевидно, машинным способом, с китайского языка статью на портале «Русские блоги» с фотками китайской версии Windows — такая у нас международная любовь к MySQL; своей экзотики, видимо, уже не хватает :-).
Переменная среды́ ( англ. environment variable ) — текстовая переменная операционной системы, хранящая какую-либо информацию, например данные о настройках системы [ 1 ].
Каждый процесс имеет блок среды [окружения], который содержит набор переменных среды и их значений. Существует два типа переменных среды: переменные среды пользователя (устанавливаются для каждого пользователя) и переменные среды системы (устанавливаются для всех) [ 2 ].
Настраивать переменные среды возможно 3-мя способами
При манипуляциях с переменными среды «мануал» настоятельно рекомендует сделать резервные копии реестра и всех изменяемых файлов, т. к. в случае ошибки компьютер может тупо не загрузиться. А лучше скопировать весь ноутбук или что там у вас.
Ну, это они на своих ламеров пусть страх нагоняют! А у нас, у кулхацкеров, любой код с первого раза работает, как часики! :-Е)
Вариант 1 — через «Панель управления» -> «Система» -> «Дополнительные параметры системы» -> «Переменные среды» ( рис. 1 — 4 ) (через «Свойства» Моего-Твоего-Нашего-Вашего-Общего компьютера получается быстрее).




Здесь необходимо создать новую строковую запись с путем до папки «bin», например
, и перезагрузить компьютер.

Вариант 2 — с помощью редактора реестра. Так делают настоящие кулхацкеры :-). Win+R/»Выполнить» -> «regedit» -> «Enter»/»OK». Полный путь: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment ( рис. 6 ).

Двойной клик на переменной «Path»-> дописать в конце строки, после знака «;» путь к папке «bin», например
( рис. 7 ), -> перезагрузить компьютер.

Проверка результатов обновления путей в консоли командой ( рис. 8 ):
После ввода команды «mysqld» курсор начинает моргать, ошибки запуска исполняемого файла по некорректному пути отсутствуют. Это значит, что сервер успешно запущен и к нему можно подключиться из параллельного окна командной строки ( рис. 9 ).


Вариант 3 — с помощью консольных команд «set» и «setx».
Команда «Setx» Создает или изменяет переменные среды в пользовательской или системной среде без необходимости программирования или написания скриптов, а также извлекает значения разделов реестра и записывает их в текстовые файлы [ 3 ].
Доп. материал по команде «set»:
Особенности команды «Setx» [ 4 ]:
- переменные, созданные или отредактированные через «Setx»на локальном компьютере, будут доступны в будущих окнах командной строки, но не в текущем;
- переменные, созданные или отредактированные через «Setx»на удалённом компьютере, будут доступны со следующего сеанса входа.
Команда «set» , которая является внутренней для интерпретатора команд (Cmd.exe), задает переменные среды пользователя только для текущего окна консоли [ 3 ].
Доп. материал по команде «SetX»:
- SetX — создание или изменение переменных среды Windows
- How do I add to the Windows PATH variable using setx? Having weird problems
Поскольку основная задача — прописать постоянный путь до исполняемых файлов, который распространялся бы на все процессы и сохранялся после перезагрузки компьютера, команда «set» не представляет большого интереса.
Проверка содержимого строкового параметра «Path» осуществляется с помощью команды

Как видно на рис. 10 пути выводятся дважды. Очевидно, что представлено содержимое переменных «Path» для среды пользователя и для системного окружения. Проверка через Панель управления подтверждает вывод. Этот факт нужно учитывать при манипуляциях с переменной, особенно при перезаписи путей и удалении подстрок.
При текущем положении попытка запустить MySQL приведет к ошибке ( рис. 11 ).

Путь до каталога bin устанавливается командой:
setx /m path «%path%;C:\mysql\bin;»
Если каталог «bin» находится в другой директории, запись команды должна соответствовать полному пути! Командная строка должна быть запущена от имени администратора! Иначе будет ошибка ( рис. 12 ).

Запуск консоли от имени администратора характеризуется адресом «C:\Windows\system32». Успешное добавление пути к каталогу «bin» ( рис. 13 ) можно проверить, только запустив новое ( новый процесс ) окно консоли, чтобы обновить содержание переменных среды.

Как следует из вывода нового процесса ( консоли ), вначале выводятся пути системного окружения, а затем — пользовательского.

В этом же, новом окне, или в другом вновь запущенном окне командной строки можно запускать сервер MySQL, теперь указывая лишь имя исполняемого файла «mysqld» ( рис. 15 — 16 )

Аналогичным образом теперь можно запускать и клиент ( рис. 16 ).

Варианты с powershell — кому интересно. И на всякий случай — «мануал по powershell от производителя» — еле выпросил. Ну, что ни сделаешь ради любимых читателей :-). Примечательно, что обращение к командам setx в powershell идет через двойное двоеточие аналогично обращению к константам внутри класса, например в PHP:
Итоги и рекомендации
Манипулирование переменными среды ( окружения ), конечно, удобно, т. к. упрощает ввод команд запуска исполняемых файлов, но не во всех случаях. Запустить таким способом, к примеру, 2 или 3 процесса ( сервера ) MySQL одновременно и в одной той же операционной системе уже не получится. Придется запускать каждый процесс, полностью прописывая в командной строке путь до каждой отдельной папки «bin». Кроме того, если запускать MySQL в нескольких экземплярах, как службу, нужно иметь ввиду, что все службы должны иметь уникальные имена. Если же необходимость запускать несколько копий сервера одной и той же СУБД отсутствует, можно смело пользоваться переменными окружения. При частом использовании сервера проще установить MySQL, как службу, и поставить ее на автозапуск, чтобы сервер запускалсся при старте операционной системы. Эти варианты я постараюсь описать в следующих материалах.
Сопутствующие публикации
Источники
- Переменная среды
- Environment Variables
- windows-commands / setx
- Команда SETX: создание и редактирование переменных среды Windows
Как установить и использовать 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