- Основы работы с MySQL Workbench: подключение удалённого сервера и синхронизация с ним
- Экспорт модели MySQL Workbench в SQL дамп
- Создание удалённого подключения к серверу MySQL
- Через удалённого пользователя MySQL (Standard: TCP/IP)
- Через SSH туннель (TCP/IP over SSH)
- Синхронизация структуры данных
- Выгрузка на сервер схемы и стартовых данных
- Администрирование базы данных
- Управление сервером, создание и восстановление бэкапов
- Вместо заключения (о некоторых подводных камнях)
- Программа периодически подвисает или «падает»
- Ошибка «Error 1292: Incorrect date / datetime value» при синхронизации
- Ошибка «Error 1005: Can’t create table ‘. ‘ (errno: 150)» при синхронизации
- Конец
- Краткое руководство. Подключение к Базе данных Azure для MySQL и запрос данных с помощью MySQL Workbench Quickstart: Use MySQL Workbench to connect and query data in Azure Database for MySQL
- Предварительные требования Prerequisites
- Установка MySQL Workbench Install MySQL Workbench
- Получение сведений о подключении Get connection information
- Подключение к серверу с помощью MySQL Workbench Connect to the server by using MySQL Workbench
- Создание таблицы, добавление, считывание, обновление и удаление данных Create a table, insert data, read data, update data, delete data
- Очистка ресурсов Clean up resources
Основы работы с MySQL Workbench: подключение удалённого сервера и синхронизация с ним
В первой части обзора программы MySQL Workbench я показал на примере основные принципы разработки модели данных и создания EER-диаграммы «сущность-связь». Пришло время применить MySQL Workbench в бою, поэтому сегодня я расскажу о создании подключения к удалённому серверу, выгрузке mwb модели на сервер, синхронизации обновлений схемы данных в процессе работы, а так же об управлении MySQL сервером с помощью программы MySQL Workbench.
Экспорт модели MySQL Workbench в SQL дамп
Если требуется записать дамп в файл, указываем путь до файла в поле «Output SQL Script File» (если оставить поле пустым, SQL скрипт можно будет скопировать на последнем шаге в буфер обмена). Мы видим окно настроек экспорта. Настройки стандартные, чтобы понять их суть, достаточно перевести их названия. Поясню только то, что галочка «Generate INSERT Statements for Tables» включает в дамп базовые данные, располагающиеся во вкладке «Inserts» интерфейса редактирования таблиц модели. После нажатия «Next» мы видим список того, что вообще можно экспортировать. Для экспорта таблиц выбираем «Export MySQL Table Objects», а чтобы экспортировать их выборочно, нажимаем «Show Filter» и выбираем нужные нам таблицы:
Нажав «Next» мы увидим в окне готовый SQL скрипт, откуда сможем скопировать его в буфер обмена или же записать в какой-либо файл.
Создание удалённого подключения к серверу MySQL
На стартовом экране нажимаем плюсик рядом с надписью или выбираем «Database → Manage Connections. «, в открывшемся окне нажимаем кнопку «New». MySQL Workbench предлагает три способа подключения к серверу: прямое подключение через пользователя, которому разрешён удалённый доступ к MySQL (обычно доступ таких пользователей ограничивают по ip), socket / pipe подключение через файл сокета (для Unix) или pipe (для Windows), а так же подключение через ssh-туннель (требует наличие ssh доступа и юзера ssh и MySQL с соответствующими правами). Рассмотрим варианты подключения к удалённому серверу:
Через удалённого пользователя MySQL (Standard: TCP/IP)
В диалоговом окне создания подключения выбираем тип подключения «Standard: TCP/IP»:
Если что-то пошло не так, проверяем, включен ли у нашего пользователя удалённый доступ, а так же наличие ip адреса нашего компьютера в списке разрешённых для данного юзера.
Через SSH туннель (TCP/IP over SSH)
В диалоговом окне создания подключения выбираем тип подключения «Standard: TCP/IP over SSH»:
Список доступных подключений можно просмотреть в диалоговом окне, выбрав «Database → Manage Connections. «
Синхронизация структуры данных
Для синхронизации структуры базы данных и локальной модели в MySQL Workbench существует специальный инструмент. Открыв нужную модель, выбираем «Database → Synchronize Model. » (Ctrl + Shift + G), после чего мы можем выбрать одно из сохранённых удалённых подключений и отредактировать его параметры. Жмём «Next» для подключения к базе данных:
После подключения к серверу и нажатия «Next» мы увидим список моделей (в левой колонке) и баз данных (в правой колонке), доступных для синхронизации:
Выбрав галочкой нужную базу и схему, нажимаем «Next», запуская процедуру сравнения структур удалённой базы данных и нашей модели:
После завершения процедуры мы можем увидеть список различий между нашей схемой данных и удалённой базой:
Просмотрев SQL запросы, нажимаем «Execute >», запуская этим выполнение синхронизации. Если всё пройдёт успешно, мы увидим такой отчёт:
В случае возникновения ошибок их лог отобразится в этом же диалоговом окне. Некоторые из них разобраны в конце этой статьи 😉
Выгрузка на сервер схемы и стартовых данных
Описанная выше синхронизация осуществляет лишь объединение структуры схемы данных удалённой базы и локальной модели, но никак не затрагивает стартовые данные, внесённые в модель («Inserts»). Если требуется выгрузить их, выбираем «Database → Forward Engineer. » (Ctrl + G), затем выбираем одно из сохранённых ранее подключений (или создаём новое) и нажимаем «Next». В остальном механизм выгрузки аналогичен механизму экспорта mwb модели, описанному в начале статьи. Его можно так же использовать, если требуется простая выгрузка схемы данных на сервер без синхронизации.
Администрирование базы данных
MySQL Workbench может быть прекрасной альтернативой PHPMyAdmin и в администрировании данных. Потребуется лишь создать подключение к MySQL серверу. Поскольку я использую Workbench с самого старта разработки, настроенное подключение у меня уже имеется в наличии. Кликаем на нужное подключение на стартовом экране или выбираем «Database → Connect to Database. » (Ctrl + U) и выбираем подключение из списка.
Список доступных для редактирования баз данных можно увидеть в левой панельке в разделе «SCHEMAS». Открыв нужную базу данных, можно увидеть список таблиц в ней:
В правой же области мы можем видеть вкладки разных видов, к примеру, на скриншоте выше открыта вкладка составления SQL запроса, в которой есть масса полезных фишек и примочек, помогающих в его редактировании, которыми я, признаться, ни разу не пользовался 🙂 Выполнять запросы можно комбинацией клавиш Ctrl + Enter.
Управление сервером, создание и восстановление бэкапов
Создать backup базы данных очень просто, выбрав Server → Data Export при наличии активного подключения к удалённому серверу:
Крутизна, да? 🙂 Можно бэкапить как всю базу, так и по частям. Можно хранить все бэкапы удобно и упорядоченно. Блин, можно всё что хочешь!
Восстановить backup тоже проще простого. Выбираем Server → Data Import, находим нужный файл и не долго думая нажимаем «Start Import»:
В общем, да, в MySQL Workbench есть целая куча всего для управления сервером баз данных: управление пользователями и их правами, управление настройками сервера (если у вашего пользователя есть соответствующий доступ). К примеру, выбрав Server → Server Status, мы можем посмотреть такую вот классную статистику нагрузки на MySQL:
Такую красивую статистику просто скушать хочется! Приятно смотреть на такую эффективную эффективность моих ключей и индексов 🙂 А вот над буфером InnoDB нужно подумать.
Вместо заключения (о некоторых подводных камнях)
Вдохновившись, в заключении я хотел написать хвалебный отзыв о том, на сколько же крута MySQL Workbench. Однако уровень её крутизны, думаю, прослеживается на протяжении всего обзора, а вот о некоторых подводных неприятностях, с которыми мне пришлось столкнуться, стоит упомянуть.
Программа периодически подвисает или «падает»
Решение: почаще сохраняться 😉 Так же практика показывает, что лучше не тыкать беспорядочно на всё подряд, а перед следующим действием ожидать завершения предыдущего.
Ошибка «Error 1292: Incorrect date / datetime value» при синхронизации
Суть проблемы: чаще всего такая ошибка возникает при попытке синхронизации с таблицей, в которой есть запись со значением ‘0000-00-00’ или ‘0000-00-00 00:00:00’ в полях типа DATE или DATETIME соответственно. В некоторых случаях настройки MySQL позволяют создавать такие записи, но не позволяют редактировать схему таблицы.
Решение: вообще, при синхронизации или экспорте данных MySQL Workbench добавляет специальные запросы, как бы оборачивая основной SQL код:
Вчитавшись в этот код, начинаешь думать, что программа пытается решить эту проблему самостоятельно. Парадокс в том, что для решения проблемы эти строки нужно удалить:
Ошибка «Error 1005: Can’t create table ‘. ‘ (errno: 150)» при синхронизации
Решение: внимательно следим за настройкой поведения внешних ключей. Если необходимо поведение SET NULL, у поля-ключа в дочерней таблице не должен стоять флаг NOT NULL.
Суть проблемы: независимо от настроек таблицы, все поля в «Inserts» имеют по умолчанию значение NULL, даже если такое значение не разрешено для данного поля. Соответственно, при выгрузке на сервер может возникнуть ошибка.
Решение: при добавлении стартовых данных следим за тем, чтобы значение NULL оставалось лишь в тех полях, где это разрешено. Если нужно сделать поле пустой строкой, делаем финт ушами: ставим в него курсор, нажимаем пробел, затем стираем его (во всяком случае, я не придумал ничего получше на такой случай :)).
Решение: закомментировать данную опцию:
Конец
Итак, мой обзор программы MySQL Workbench в двух частях (кстати, первую часть можно найти тут) подходит к концу. Буду рад, если читатель почерпнет для себя в нём что-то полезное или интересное 🙂
Источник
Краткое руководство. Подключение к Базе данных Azure для MySQL и запрос данных с помощью MySQL Workbench Quickstart: Use MySQL Workbench to connect and query data in Azure Database for MySQL
В этом кратком руководстве показано, как подключиться к базе данных Azure для MySQL с помощью приложения MySQL Workbench. This quickstart demonstrates how to connect to an Azure Database for MySQL using the MySQL Workbench application.
Предварительные требования Prerequisites
В качестве отправной точки в этом кратком руководстве используются ресурсы, созданные в соответствии со следующими материалами: This quickstart uses the resources created in either of these guides as a starting point:
Убедитесь, что IP-адрес, с которого вы подключаетесь, добавлен в правила брандмауэра на сервере через портал Azure или Azure CLI. Ensure the IP address you’re connecting from has been added the server’s firewall rules using the Azure portal or Azure CLI
Установка MySQL Workbench Install MySQL Workbench
Скачайте и установите MySQL Workbench на свой компьютер с веб-сайта MySQL. Download and install MySQL Workbench on your computer from the MySQL website.
Получение сведений о подключении Get connection information
Получите сведения о подключении, необходимые для подключения к базе данных Azure.для MySQL. Get the connection information needed to connect to the Azure Database for MySQL. Вам потребуется полное имя сервера и учетные данные для входа. You need the fully qualified server name and login credentials.
Войдите на портал Azure. Log in to the Azure portal.
В меню слева на портале Azure щелкните Все ресурсы и выполните поиск по имени созданного сервера (например, mydemoserver). From the left-hand menu in Azure portal, click All resources, and then search for the server you have created (such as mydemoserver).
Щелкните имя сервера. Click the server name.
Запишите имя сервера и имя для входа администратора сервера с панели сервера Обзор. From the server’s Overview panel, make a note of the Server name and Server admin login name. Если вы забыли свой пароль, можно также сбросить пароль с помощью этой панели. If you forget your password, you can also reset the password from this panel.
Подключение к серверу с помощью MySQL Workbench Connect to the server by using MySQL Workbench
Чтобы подключиться к серверу MySQL Azure с помощью инструмента графического интерфейса MySQL Workbench, сделайте следующее. To connect to Azure MySQL Server by using the GUI tool MySQL Workbench:
Запустите приложение MySQL Workbench на своем компьютере. Launch the MySQL Workbench application on your computer.
В диалоговом окне настройки нового подключения на вкладке Параметры введите следующие сведения: In Setup New Connection dialog box, enter the following information on the Parameters tab:
ПараметрSetting | Рекомендуемое значениеSuggested value | Описание поляField description |
---|---|---|
Имя подключения Connection Name | Пример подключения Demo Connection | Укажите метку для этого подключения. Specify a label for this connection. |
Способ подключения Connection Method | Стандартный способ (по протоколу TCP/IP) Standard (TCP/IP) | Стандартный способ (по протоколу TCP/IP) соответствует требованиям. Standard (TCP/IP) is sufficient. |
Имя узла Hostname | имя сервераserver name | Укажите значение имени сервера, которое вы использовали ранее при создании базы данных Azure для MySQL. Specify the server name value that was used when you created the Azure Database for MySQL earlier. В нашем примере используется такое имя сервера: mydemoserver.mysql.database.azure.com. Our example server shown is mydemoserver.mysql.database.azure.com. Используйте полное доменное имя (*.mysql.database.azure.com), как показано в примере. Use the fully qualified domain name (*.mysql.database.azure.com) as shown in the example. Выполните действия из предыдущего раздела, чтобы найти сведения для подключения, если вы не помните имя своего сервера. Follow the steps in the previous section to get the connection information if you do not remember your server name. |
Порт Port | 3306 3306 | Всегда используйте порт 3306 при подключении к базе данных Azure для MySQL. Always use port 3306 when connecting to Azure Database for MySQL. |
Имя пользователя Username | имя для входа администратора сервераserver admin login name | Введите имя администратора сервера, которое вы использовали ранее при создании базы данных Azure для MySQL. Type in the server admin login username supplied when you created the Azure Database for MySQL earlier. Пример нашего имени пользователя — myadmin@mydemoserver. Our example username is myadmin@mydemoserver. Выполните действия из предыдущего раздела, чтобы найти сведения для подключения, если вы не помните имя пользователя. Follow the steps in the previous section to get the connection information if you do not remember the username. Формат имя пользователя@имя сервера. The format is username@servername. |
Пароль Password | Ваш пароль. your password | Нажмите кнопку Store in Vault. (Сохранить в хранилище), чтобы сохранить пароль. Click Store in Vault. button to save the password. |
Щелкните Проверить подключение, чтобы проверить, все ли параметры верно настроены. Click Test Connection to test if all parameters are correctly configured.
Нажмите кнопку ОК, чтобы сохранить подключение. Click OK to save the connection.
В списке подключений MySQL щелкните элемент, соответствующий вашему серверу, и ожидайте установления подключения. In the listing of MySQL Connections, click the tile corresponding to your server, and then wait for the connection to be established.
Откроется новая вкладка SQL с пустым окном редактора, в котором можно вводить запросы. A new SQL tab opens with a blank editor where you can type your queries.
По умолчанию защита SSL-подключения является обязательной и применяется к базе данных Azure для сервера MySQL. By default, SSL connection security is required and enforced on your Azure Database for MySQL server. Обычно для подключения MySQL Workbench к вашему серверу не требуется никаких дополнительных настроек с использованием сертификатов SSL. Но мы рекомендуем привязать SSL-сертификат ЦС к MySQL Workbench. Although typically no additional configuration with SSL certificates is required for MySQL Workbench to connect to your server, we recommend binding the SSL CA certification with MySQL Workbench. Дополнительные сведения о скачивании и привязке сертификатов см. в статье Настройка SSL-подключений в приложении для безопасного подключения к базе данных Azure для MySQL. For more information on how to download and bind the certification, see Configure SSL connectivity in your application to securely connect to Azure Database for MySQL. Если необходимо отключить протокол SSL, войдите на портал Azure и перейдите на страницу «Безопасность подключения», чтобы отключить выключатель «Принудительно использовать SSL-соединение». If you need to disable SSL, visit the Azure portal and click the Connection security page to disable the Enforce SSL connection toggle button.
Создание таблицы, добавление, считывание, обновление и удаление данных Create a table, insert data, read data, update data, delete data
Скопируйте и вставьте пример кода SQL в пустую вкладку SQL для иллюстрации примера данных. Copy and paste the sample SQL code into a blank SQL tab to illustrate some sample data.
Этот код создает пустую базу данных с именем quickstartdb, а затем создает пример таблицы с именем inventory. This code creates an empty database named quickstartdb, and then creates a sample table named inventory. Он добавляет несколько строк, а затем считывает эти строки. It inserts some rows, then reads the rows. Он изменяет данные с помощью инструкции update, а затем еще раз считывает строки. It changes the data with an update statement, and reads the rows again. Наконец он удаляет одну строку и еще раз считывает строки. Finally it deletes a row, and then reads the rows again.
На снимке экрана показан пример кода SQL в SQL Workbench и выходные данные после его выполнения. The screenshot shows an example of the SQL code in SQL Workbench and the output after it has been run.
Чтобы выполнить пример кода SQL, щелкните значок молнии на панели инструментов вкладки SQL File (Файл SQL). To run the sample SQL Code, click the lightening bolt icon in the toolbar of the SQL File tab.
Обратите внимание на три вкладки с результатами, которые отображаются в разделе Сетка результатов посередине страницы. Notice the three tabbed results in the Result Grid section in the middle of the page.
Обратите внимание на список Output (Выходные данные) внизу страницы. Notice the Output list at the bottom of the page. Показано состояние каждой команды. The status of each command is shown.
Вы подключились к базе данных Azure для MySQL с помощью MySQL Workbench и запросили данные с помощью языка SQL. Now, you have connected to Azure Database for MySQL by using MySQL Workbench, and you have queried data using the SQL language.
Очистка ресурсов Clean up resources
Чтобы очистить все ресурсы, используемые во время этого краткого руководства, удалите группу ресурсов с помощью следующей команды: To clean up all resources used during this quickstart, delete the resource group using the following command:
Источник