RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Глава 6. Задачи администрирования

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

6.1. Управление сервером

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

Навигатор подключения MySQL

Область Navigator имеет вкладку Administration (ранее Management) с функциональностью, чтобы контролировать и формировать ваше подключение MySQL. На некоторых хостах не показываются Navigator и информационные метки. Следующие данные показывают главные элементы, которые относятся к управлению сервером.

Рис. 6.1. Вкладка Navigator Administration

Content is described in the surrounding text.

Описание элементов управления сервером

  1. Вкладка Connection. Каждая связь, установленная с сервером MySQL, представляется отдельной вкладкой связи. Сервер может быть активным или бездействующим, когда вкладка связи для него открыта. Для помощи в создании и управлении подключениями см. главу 5.

  2. Меню Server в строке главного меню это один способ открыть каждую категорию вторичной вкладки управления. Меню включает тот же самый набор пунктов, перечисленных во вкладке Administration области Navigator плюс два дополнительных пункта: Management Access Settings и Reset Saved Passwords for Connection.

    Чтобы открыть Administration - Users and Privileges, нажмите Server и Users and Privileges.

  3. Вкладка Administration. Можно показать только одну вкладку управления одномоментно: последующие заменяют активную вкладку. Чтобы закрыть открытую вкладку, щелкните x на вкладке.
  4. Операционные вкладки. Вторичные административные вкладки также включают подвкладки, которые отделяют доступные операции в категории. Например, Administration - Users and Privileges имеет четыре подвкладки: Login, Account Limits, Administrative Roles и Schema Privileges.
  5. Боковая панель включает информационные области Navigator и Information. С выбранной вкладкой Administration щелкните по любому пункту в области Navigator, чтобы открыть связанную вкладку администрации в рабочей области. Можно скрыть или показать панель, используя более легкое действие на главной панели инструментов.

    Вкладка Administration разделена на секции MANAGEMENT, INSTANCE, PERFORMANCE и MYSQL ENTERPRISE (для MySQL Workbench Commercial edition).

    Область Navigator также имеет вкладку Schemas для управления базами данных. Для получения информации о вкладке Schemas см. раздел 8.2.1.

  6. Функциональные кнопки. Все кнопки в управляющих вкладках расположены в той же самой зоне рабочей области. Однако набор функциональных кнопок изменяется в зависимости от выбранной вкладки.

6.1.1. Журналы сервера

Вкладка Administration - Server Logs показывает информацию о журнале для сервера MySQL, представленного каждой вкладкой связи. Для каждой связи вкладка Administration - Server Logs включает дополнительные вкладки для общих журналов ошибок и медленных журналов (при наличии).

Можно получить доступ к информации из журнала из области Navigator или нажав Server и Server Logs из меню.

Файл регистрации ошибок

Следующие данные показывают пример записей во вкладке Error Log File. Для получения дополнительной информации см. The Error Log.

Рис. 6.2. Navigator Administration: Instance: Server Logs: Error Log

Error Log File tab showing Oldest, Previous Page, Next
Page, Most Recent, and Refresh buttons.

Регистрация медленных запросов

Следующие данные показывают пример записей во вкладке Slow Log File. Для получения дополнительной информации посмотрите The Slow Query Log

Рис. 6.3. Navigator Management: Instance: Server Logs: Slow Log

Slow Log File tab showing Oldest, Previous Page, Next Page,
Most Recent, and Refresh buttons.

6.1.2. Сервисный контроль

Вкладка Administration - Startup / Shutdown позволяет вам выполнить следующие действия сервисного контроля:

  • Смотреть Startup Message Log.

  • Запустить и завершить сервер MySQL.
  • Смотреть текущий статус сервера.

Можно получить доступ к действиям контроля из панели Navigator или при нажатии Server и Startup/Shutdown из меню. Следующие данные показывают пример вкладки Administration - Startup / Shutdown с управлением сервером базы данных и показанными кнопками Stop Server и Bring Offline.

Рис. 6.4. Navigator Administration: Instance: Startup / Shutdown

Administration - Startup / Shutdown tab showing the Stop
Server, Refresh Status, Clear Messages, and Copy to Clipboard buttons.

6.1.3. Конфигурация (файл опций)

Редактор Options File используется, чтобы рассмотреть и отредактировать MySQL configuration file (my.ini в Windows или my.cnf в Linux и macOS) выбирая опции и другие средства управления GUI и затем внося правки. MySQL Workbench делит файл на свои собственные группы как ряд вкладок (General, Logging, InnoDB и т.д.). Сделайте правки и нажмите Apply, чтобы передать изменения.

Можно открыть Administration - Options File из области Navigator или при нажатии Server и Options File из меню.

Редактор файлов опций включает следующие компоненты:

  • Группы файла опций, разделенные на удобные вкладки MySQL Workbench.

  • Поле поиска Locate option, чтобы искать в вашем конфигурационном файле.
  • Путь Configuration File, таким образом, вы знаете, какой конфигурационный файл вы редактируете.
  • Селектор группы опций в файле, чтобы выбрать группу опций, чтобы отредактировать. Поскольку та же самая опция может быть определена в нескольких группах, важно выбрать правильную группу, когда редактируете. [mysqld] (сервер MySQL) это наиболее распространенная группа. Для получения дополнительной информации о группах посмотрите Using Option Files.

Следующие данные показывают Options File с выбранной вкладкой General.

Рис. 6.5. Navigator Administration: Instance: Options File: General

Content is described in the surrounding text.

6.2. Пользователи и привилегии

Вкладка Administration - Users and Privileges предоставляет список всех пользователей и привилегий, которые касаются активного экземпляра сервера MySQL. С этой вкладки можно добавить и управлять учетными записями пользователей, задать привилегии и пароли.

Чтобы открыть вкладку Administration - Users and Privileges:

  1. Установите связь с активным сервером MySQL.

  2. На вкладке связи сделайте одно из следующего:
    • Нажмите Users and Privileges из списка Management в области Navigator.

    • Нажмите Server и Users and Privileges из меню.

У вкладки Administration - Users and Privileges есть несколько областей задач, которые описаны в следующих разделах.

User Accounts

User Accounts состоит из вертикальной области, которая перечисляет каждую учетную запись пользователя, связанную с активным подключением MySQL. Список содержит каждое имя пользователя и имя хоста для него. Используйте кнопки Add Account, Delete и Refresh, чтобы управлять списком учетных записей пользователей. Выбор записи из списка показывает параметры, которые появляются в наборе вкладок.

Данные, которые следуют, показывают расположение вкладки Administration - Users and Privileges с подвкладкой Login, чтобы показать пример общих сведений о записи.

Рис. 6.6. Navigator Administration: User And Privileges с открытой вкладкой Login

Content is described in the surrounding text.

Login

Вкладка Login предоставляет следующую информацию, связанную с выбранным пользователем:

  • Login Name: можно создать многократные записи с тем же самым именем, чтобы соединиться от различных хостов.

  • Authentication Type: для стандартного пароля или основанной на хосте идентификации, выберите Standard. Типы аутентификации caching_sha2_password и SHA256_Password обеспечивают более безопасное шифрование, чем Standard.

    Начиная с MySQL 8.0.4, плагин caching_sha2_password плагин идентификации по умолчанию для сервера. Пользователь, который подтверждает подлинность с caching_sha2_password, должен использовать безопасное соединение или незашифрованную связь, которая поддерживает передачу пароля с использованием пары ключей RSA.

  • Limit to Hosts Matching: символы % и _ могут использоваться в качестве подстановочных знаков. Знак процента (%) соответствует 0 или больше знаков, а подчеркивание (_) соответствует строго отдельному символу.
  • Password и Confirm Password: чтобы изменить пароль, введите и затем подтвердите его. Рассмотрите использование пароля из восьми или больше знаков с символами разных регистров, числами и знаками препинания.

    Примените Expire Password, чтобы потребовать изменения пароля.

Account Limits

Вкладка Account Limits определяет следующие ограничения на выбранного пользователя:

  • Max. Queries: количество запросов в течение одного часа.

  • Max. Updates: количество обновлений в течение одного часа.
  • Max. Connections: сколько раз пользователь может соединиться с сервером в течение часа.
  • Concurrent Connections: количество одновременных связей с сервером.

Вкладка Administrative Roles

Роли это быстрый способ предоставить ряд привилегий пользователю, на основе работы, которую пользователь должен выполнить на сервере. Также возможно назначить многие роли на одну учетную запись пользователя или назначить привилегии непосредственно пользователю без назначения ролей.

После того, как вы выберете роль для учетной записи пользователя, вы будете видеть накопленные привилегии в панели Global Privileges. Например, если вы выбираете роль BackupAdmin, предоставленные привилегии включают EVENT, LOCK TABLES, SELECT и SHOW DATABASES. Для полного списка привилегий посмотрите Privileges Provided by MySQL.

Вкладка Administrative Roles включает следующие роли:

  • DBA: Предоставляет права выполнить все задачи.

  • MaintenanceAdmin: Права поддерживать сервер.
  • ProcessAdmin: Права оценить, контролировать и убить пользовательские процессы.
  • UserAdmin: Права создать пользовательские логины и изменить пароли.
  • SecurityAdmin: Права управлять логинами, предоставить и отменить привилегии сервера.
  • MonitorAdmin: Предоставляет минимальные права, чтобы контролировать сервер.
  • DBManager: Предоставляет полные права на всех базах данных.
  • DBDesigner: Права создать и перепроектировать любую схему базы данных.
  • ReplicationAdmin: Права настроить и управлять репликацией.
  • BackupAdmin: Минимальные права, требуемые, чтобы поддержать любую базу данных.
  • Custom: Перечисляет другие привилегии, которые назначены на учетную запись пользователя. Эта роль недоступна для всех учетных записей по умолчанию, таких как root. Если вы выбираете учетную запись пользователя и затем выбираете одну или более привилегий непосредственно, которые находятся за пределами любых выбранных ролей, роль Custom добавлена (и выбрана) к списку ролей.

Чтобы удалить все права, назначенные на выбранного пользователя, нажмите Revoke All Privileges.

Schema Privileges

Вкладка Schema Privileges совершенствует способ, которым вы назначаете права доступа к одной или более схемам учетной записи пользователя. Чтобы назначить привилегии на выбранную для схемы, сделайте следующее:

  1. Добавьте запись схемы (или правило), который определяет, какая схема или схемы применяют выбранного пользователя. Нажмите Add Entry, чтобы открыть диалог New Schema Privilege Definition. Диалог предоставляет следующие независимые возможности:

    • All Schema (%): Это правило относится к любому названию схемы.

    • Schemas matching pattern: pattern : Примените это правило к схемам, которые соответствуют имени или образцу. Можно использовать _ и % как подстановочные знаки в образце, однако, чтобы использовать литеральное значение, необходимо экранировать каждый подстановочный символ наклонной чертой влево (\).
    • Selected schema: schema name: Примените правило к определенному названию схемы, выбранному из списка.

    Примените Delete Entry, чтобы удалить запись и привилегии, связанные с ней, из списка. Когда вы нажимаете Revoke All Privileges, вы удаляете все привилегии, назначенные на выбранного пользователя.

  2. Выбрав запись, отметьте отдельные права доступа, которые применяются только к схеме или схемам, определенным в записи. Права доступа категоризированы как Object Rights, DDL Rights и Other Rights. Каждое право, которое вы выбираете, появляется в колонке Privileges записи схемы.

6.3. Статус сервера

Получите непосредственное представление для вашей среды MySQL. Это включает просмотр состояния выполнения сервера (stopped/running), доступные особенности, основные каталоги сервера, состояние репликации и настройки безопасности для идентификации и SSL. Доклады также включают в себя информацию и графы, чтобы отследить использование памяти, связи, частоты успешных обращений и прочее.

Можно получить доступ к этому окну из области Navigator или из меню Server и Server Status .

Рис. 6.7. Navigator Administration: статус сервера

Content is described in the surrounding text.

6.4. Статус и системные переменные

Вкладка Administration - Status and System Variables перечисляет полный набор серверных переменных для активного подключения MySQL. Можно также скопировать все или выбранные переменные в буфер обмена системы.

Можно открыть эту вкладку из области Navigator (см. MANAGEMENT) или выбрав Server и Status and System Variables из меню. Следующие данные показывают подвкладку Status Variables, выбранную со всеми переменными статуса, перечисленными по имени. У каждой переменной есть значение, если возможно, и описание.

Рис. 6.8. Navigator Administration: переменные статуса

Content is described in the surrounding text.

Следующие данные показывают подвкладку System Variables со всеми глобальными системными переменными для активного сервера, перечисленными по имени. Можно сократить список статуса и системных переменных, введя имя переменной в текстовое окно или выбрав категорию, например, InnoDB/General.

Рис. 6.9. Navigator Management: системные переменные

Content is described in the surrounding text.

Постоянные системные переменные

Начиная с MySQL Workbench 8.0.11, можно установить одну или несколько глобальные системных переменных, сохраняемых через перезапуски сервера. Чтобы сохранить переменную, выберите опцию Persist рядом с именем (см. предыдущий рисунок). Для системных переменных, которые включают значение, оно показано в столбце Persisted Value списка после того, как вы выбираете опцию. Если переменная не имеет права быть сохраненной, информационное диалоговое окно появляется, когда вы выбираете опцию.

Чтобы сбросить постоянную глобальную системную переменную, отмените отдельную опцию и затем подтвердите действие сброса для отдельной переменной в диалоговом окне, которое открывается. Чтобы сбросить все постоянные переменные сразу, нажмите Reset persist values и затем подтвердите действие для всех постоянных переменных.

Заказная группировка переменных

Статусные и системные переменные категоризированы группами (такими как InnoDB или Logging), можно также создать собственные группы. Щелкните правой кнопкой мыши по переменной, выберите группу (или создайте новую), и затем добавьте переменную к вышеупомянутой группе. Ваши группы перечисляются наряду с существующими ранее группами.

Следующие данные показывают пример группы My Variables, к которой добавляется переменная Created_tmp_variables.

Рис. 6.10. Navigator Management: добавление переменной к группе

Content is described in the surrounding text.

6.5. Экспорт и импорт данных

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

Таблица 6.1. Методы, чтобы экспортировать или импортировать данные в MySQL Workbench

Место в GUIНабор данных Экспортные типыТипы импорта Дополнительные детали
Контекстное меню Object BrowserТаблицы JSON, CSVJSON, CSVПростые операции по таблицам, включая контроль над типом вывода (этот метод был добавлен в версии 6.3.0)
Меню Result Grid в редакторе SQL Набор результатов (после выполнения SQL-запроса) CSV, HTML, JSON, SQL, XML, Excel XML, TXTCSV Простые операции по данным, включая небольшой контроль
Management NavigatorБазы данных и/или таблицы SQLSQLПодробные операции по базе данных и таблице, стандартное копирование/восстановление, используя команду mysqldump и метаданные, включает контроль над тем, как данные и метаданные обрабатываются
Management NavigatorБазы данных и/или таблицы SQLSQLПодробные операции по базе данных и таблице, включает контроль над тем, как данные обрабатываются, могут быть запланированным и инкрементным, включает метаданные, использует MySQL Enterprise Backup (commercial)

6.5.1. Мастер экспорта и импорта данных

Этот мастер поддерживает импорт и экспорт, используя CSV и файлы JSON, и включает несколько параметров конфигурации (сепараторы, выбор столбца, выбор кодировки и т.п.). Мастер может быть выполнен для местных или отдаленно подключенных серверов MySQL, действие импорта включает таблицу, столбец и отображение типа.

Этот мастер только экспортирует/импортирует таблицы, используя формат CSV или JSON. Для обзора экспорта данных и вариантов импорта в MySQL Workbench см. раздел 6.5.

Мастер доступен из контекстного меню обозревателя объектов, щелкая правой кнопкой мыши по таблице и выбирая Table Data Export Wizard или Table Data Import Wizard.

Рис. 6.11. Мастер данных таблицы

Content is described in the surrounding text.

Мастер экспорта данных таблицы

Данные таблицы экспортируются в файл JSON или CSV. Следующие данные показывают пример экспорта таблицы sakila.actor в файл CSV.

Рис. 6.12. Экспорт данных таблицы

Select data for export.

Рис. 6.13. Экспорт данных таблицы: настройка CSV

Select output file location.

Рис. 6.14. Экспорт данных таблицы: результаты

Export data.

Мастер импорта данных

Вы можете импортировать данные о таблице из файла JSON или CSV. Следующие данные показывают пример ряда импорта таблицы sakila.actor из файла CSV.

Рис. 6.15. Импорт данных: источник CSV

Select file to import.

Рис. 6.16. Импорт данных: целевая таблица

Select destination.

Рис. 6.17. Импорт данных: настройка CSV

Configure import settings.

Поле Encoding должна соответствовать вашему файлу CSV.

Рис. 6.18. Импорт данных: результат

Import data.

6.5.2. Мастер экспорта и импорта данных SQL

Используйте этого мастера, чтобы экспортировать или импортировать SQL, произведенный из MySQL Workbench или mysqldump.

Получите доступ к мастеру из области Navigator или выбрав из главного меню Server, затем Data Import или Data Export.

Этот мастер экспортирует/импортирует только формат MySQL SQL. Для обзора вариантов экспорта и импорта данных в MySQL Workbench см. раздел 6.5.

Экспорт данных

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

Альтернативно используйте Export a Result Set, чтобы экспортировать определенный набор результатов в редакторе SQL к другому формату, такому как CSV, JSON, HTML и XML.

Выберите объекты схемы, чтобы экспортировать и затем формировать связанные опции. Рисунок показывает базу данных sakila, готовую к экспорту.

Нажмите Refresh, чтобы загрузить текущие объекты.

Рис. 6.19. Navigator Administration: Data Export: Object Selection

Content is described in the surrounding text.

Произвольно откройте вкладку Advanced Options, которая позволяет вам настроить экспортную операцию. Следующие данные показывают пример, который добавляет блокировки таблицы, использование replace вместо insert, указывает идентификаторы со знаками обратной галочки и так далее.

Рис. 6.20. Navigator Administration: Data Export: Advanced Options

Content is described in the surrounding text.

Нажмите Start Export, чтобы начать экспортный процесс. Как показывает рисунок ниже, информация о статусе указывает, когда экспорт закончен.

Рис. 6.21. Navigator Administration: Data Export: процесс экспорта

Content is described in the surrounding text.

Эта функциональность использует mysqldump.

Импорт или восстановление данных

Восстановите экспортируемые данные из операции Data Export или из других экспортируемых данных из команды mysqldump.

Выберите папку проекта или отдельный файл SQL, выберите схему, в которую данные будут импортированы, или выберите New, чтобы определить новую схему. Следующие данные показывают пример импорта из папки проекта.

Рис. 6.22. Navigator Administration: Data Import: импорт с диска Content is described in the surrounding text.

Можно выбрать только определенные объекты данных (таблицы), чтобы импортировать, если операция экспорта данных использовала папки проекта вместо отдельного файла SQL.

Нажмите Start Import, чтобы начать процесс импорта. Используйте вкладку Import Progress, чтобы контролировать прогресс. Информация о статусе указывает, когда импорт закончен и показывает журнал.

6.5.3. Экспорт и импорт данных результатов

Экспорт или импорт данных непосредственно из или в набор результатов.

Экспорт набора результатов

Набор результатов в визуальном редакторе SQL может быть экспортирован в форматы общего файла включая CSV, JSON, HTML и XML. Следующий рисунок демонстрирует выбор JSON как тип экспорта из диалога Export Resultset.

Этот мастер экспортирует/импортирует только данные из набора результатов. Для обзора вариантов экспорта и импорта данных в MySQL Workbench см. раздел 6.5.

Рис. 6.23. Экспорт набора результатов

Content is described in the surrounding text.

Импорт в набор результатов

Записи из файла CSV могут быть импортированы в набор результатов визуального редактора SQL.

У набора результатов должен быть уникальный идентификатор строки (такой как первичный ключ или уникальный индекс NOT NULL), иначе значения не могут быть импортированы, потому что набор результатов будет только для чтения.

Альтернативно используйте раздел 6.5, чтобы экспортировать большие наборы данных, такие как таблицы и базы данных.

6.6. MySQL Audit Inspector

MySQL Workbench предлагает графический интерфейс Audit Inspector. По умолчанию плагин audit_log отсутствует.

Чтобы активировать плагин audit_log:

  1. Нажмите Audit Inspector из вкладки Administration в области Navigator, чтобы открыть вкладку Administration - Audit Inspector.

  2. На вкладке нажмите Install audit_log.

После того, как плагин устанавливается, начальный экран выглядит подобным рисунку ниже. В этом пункте не перечисляются никакие записи.

Рис. 6.24. Workbench: Audit Inspector

Content is described in the surrounding text.

Когда вы впервые запускаете Audit Inspector, MySQL Workbench должен кэшировать контрольный журнал по исполнительным причинам. MySQL Workbench разбирает, индексирует и получает значения от зашифрованного кэшированного файла на вашем локальном компьютере.

Создание файла кэша может занять много времени. Если вы нажмете Abort во время процесса кэширования, MySQL Workbench сохранит результаты, которые уже кэшированы, когда вы нажали Abort.

MySQL Workbench вызовет sudo, если пользователь MySQL Workbench не будет способен прочитать файл журнала аудита.

Чтобы произвести файл кэша, нажмите Cache Selected Files for Browsing. Пакет устанавливает пароль для зашифрованного файла, который будет использоваться, просматривая этот файл. После кэширования контрольного журнала, Audit Inspector отображает на экране результаты, как показано на следующем рисунке. Каждый запись включает ID, timestamp, тип, ID связи, пользователя, хост/IP, статус, класс команды и информацию.

Рис. 6.25. Workbench: Audit Inspector

Content is described in the surrounding text.

Поле поиска предлагает критерии сужения показанных событий, включая Show events of type Fetch и Show events of type Query, по умолчанию Show all events. Заказные фильтры также доступны.

Нажмите Add Files to Cache в любое время, чтобы добавить новые файлы к кэшу, нажмите Delete Cache, чтобы удалить файл кэша.

В следующий раз, когда вы запускаете Audit Inspector, вы будете запрошены о пароле, который вы устанавливаете во время начального шага.

6.7. MySQL Enterprise Backup

Коммерческие версии MySQL Workbench включают графический интерфейс, который позволяет вам использовать функциональность MySQL Enterprise Backup (MEB), чтобы сохранить ваши данные MySQL от неожиданной потери. Определенные варианты могут измениться, в зависимости от версии MySQL и MySQL Workbench. Для получения дополнительной информации посмотрите раздел 6.7.1.

Есть две операции резервного копирования MySQL Enterprise, доступные из MySQL Workbench:

  • Online Backup: Устанавливает резервный профиль, чтобы определить что должно быть сохранено, где резервная копия должна быть сохранена и когда (частота) MySQL должен ее сделать. С активным открытым подключением нажмите Server, затем MySQL Enterprise Backup из меню, чтобы получить экран Online Backup.

  • Restore: Возвращает сервер MySQL к моменту вовремя, как правило, восстанавливая резервную копию, которая была создана Online Backup в MySQL Workbench. С активным открытым подключением нажмите Server, затем Backup Recovery из меню, чтобы получить экран Recovery.

Конфигурация MySQL Enterprise Backup расположена на сервере MySQL, а не локально в MySQL Workbench. Эта информация включает профили резервной копии конфигурации MySQL Enterprise Backup, планирование работы, операции резервного копирования и данные. Операции резервирования и восстановления могут быть намечены к выполнению с (или без) MySQL Workbench.

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

6.7.1. Общие требования

MySQL Enterprise Backup (MEB) это особенность MySQL Enterprise, которая является отдельной от MySQL Workbench. Для получения дополнительной информации о его функциональности см. MySQL Enterprise Backup documentation. MySQL Workbench предоставляет интерфейс к MySQL Enterprise Backup, как описано в этом разделе.

В дополнение к установке MySQL Enterprise Backup на целевом сервере, также применяются следующие общие требования:

  • Последняя версия MySQL Enterprise Backup. Политика дополнительной поддержки MySQL Enterprise Backup состоит в том, чтобы поддержать текущую версию GA MySQL Enterprise Backup и основную версию перед ней. Это диктует минимальную версию MySQL Enterprise Backup, требуемую MySQL Workbench, которая является основной версией перед текущей версией GA.

  • Задание пароля шифрования требуется, чтобы выполнять резервную копию и восстанавление на зашифрованных таблицах (см. здесь).
  • Управление серверами MySQL доступно в Linux и macOS, управление локальными серверами MySQL доступно в Microsoft Windows. Удаленное управление использует SSH Remote Management.
  • Подключение mysql с пользователем root.
  • Путь конфигурационного файла сервера MySQL должен быть установлен правильно для подключения MySQL.
  • Пользователь, выполняющий MySQL Workbench должен sudo-пользователем (Linux и macOS), который в состоянии выполнить MySQL Enterprise Backup.
  • Пользователь sudo должен сохранить переменную окружения HOME, выполняя системные команды, что означает добавление следующей записи в файл /etc/sudoers безопасно при помощи команды visudo:

    Defaults env_keep +="HOME"
    

Необходимые как условие параметры настройки

Чтобы установить следующие предпосылки, нажмите Settings с главного экрана (Online Backup или Restore):

  • Путь к исполняемому файлу MySQL Enterprise Backup. MySQL Enterprise Backup доступен с eDelivery или My Oracle Support (MOS). MySQL Workbench пытается определить местонахождение исполняемого файла MySQL Enterprise Backup на основе версии сервера MySQL, так что проверьте путь и приспособьте его соответственно. Например:

    • Для MySQL 8.0 используйте версию MySQL Enterprise Backup с тем же самым номером версии, как у сервера.

    • Для MySQL 5.7 используйте MySQL Enterprise Backup 4.1.
    • Для MySQL 5.6 используйте MySQL Enterprise Backup 3.12.

  • Путь к Backup Home Directory, где резервные профили и данные сохранены. Это может быть создано в Workbench из Settings.

  • Учетная запись MySQL для Backup Process. Доступные действия зависят от текущего состояния с вариантами, включая:

    • Create MEB Account: Доступный, если пользователь не существует.

    • Change Password: Доступный, если пользователь действительно существует.
    • Fix Grants for MEB: Доступный, если привилегии пользователя недействительны, изменяет учетную запись пользователя, добавляя права RELOAD, SUPER и REPLICATION CLIENT ON *.*.

Следующие данные показывают пример.

Рис. 6.26. Workbench: MySQL Enterprise Backup

Content is described in the surrounding text.

Если какое-либо из требований не выполнено, то ошибка будет произведена, пытаясь использовать MySQL Enterprise Backup.

Деинсталлирование Workbench

Следующий список примечаний описывает поведение операций резервного копирования MySQL Enterprise после того, как вы удалите MySQL Workbench:

  • Деинсталлирование Workbench не удаляет связанные задачи MySQL Enterprise Backup. Чтобы остановить запланированное резервное копирование, отредактируйте связанные записи "Task Scheduler" в Windows или удалите связанные задачи в cron для Linux и macOS.

  • Деинсталлирование Workbench не удаляет связанный конфигурационный файл мастера MySQL Enterprise Backup, конфигурационные файлы, произведенные для каждого определенного профиля или резервных копий MySQL.

6.7.2. Online Backup

Этот раздел описывает, как формировать резервный профиль, который определяет что надо зарезервировать, куда резервная копия должна быть сохранена и насколько часто. С активным открытым подключением MySQL нажмите Server, затем MySQL Enterprise Backup из меню, чтобы получить главный экран Online Backup.

Следующие данные показывают пример главного экрана Online Backup с примером полного и частичного задания резервного копирования, формируемого для текущего экземпляра MySQL.

Рис. 6.27. Workbench: MySQL Enterprise Backup

Content is described in the surrounding text.

Элементы экрана Online Backup

Экран Online Backup разделен на три секции:

  • Backup Jobs: Используется для руководящих заданий резервного копирования для сервера MySQL. Задание резервного копирования (профиль) является конфигурационным файлом, используемым, чтобы хранить информацию о том, что резервировать, где резервная копия сохранена, и (произвольно) когда резервные копии будут выполнены.

    Щелчок правой кнопкой мыши на задании резервного копирования это альтернативный способ получить доступ к доступным действиям, тем, которые Configure Job, Delete Job и Execute Backup. Щелчок правой кнопкой мыши также предлагает две дополнительных опции:

    • Execute Backup to Image File: Сохраняет резервную копию в единственный файл и спрашивает имя файла.

    • Copy Backup Command to Clipboard: Производит команду для выполнения резервной копии и копирует ее в буфер обмена. Вы могли бы выполнить эту команду в оболочке или терминале, подобно:

      /bin/mysqlbackup --defaults-file="/var/lib/meb/foo.cnf" \
                       --show-progress=stdout backup --with-timestamp
      
  • Backup Job Details: Информация о состоянии определенного (выбранного) задания резервного копирования. Это включает информацию от страницы Settings и информацию, определенную для выбранной резервной копии.

  • Recent Activity: Историческая информация об операциях резервного копирования, выполненных на сервере. Смотрите журнал резервного копирования, щелкнув правой кнопкой мыши по записи и выберите View Backup Log.

Диалог прогресса произведен для операции резервного копирования.

Задания резервного копирования

Следующая информация относится к операции New Job. Configure Job используется, чтобы изменить существующие задания.

Backup Profile Name и его связанное поле Comments используются, чтобы определить профиль задания резервного копирования. Каждое имя задания резервного копирования перечисляется на главном экране. Экран планирования New Job разделяет конфигурационную информацию на четыре группы: subtabs: Schedule, Contents, Options и Advanced.

Вкладка Schedule. Подвкладка Schedule произвольно устанавливает расписание резервного копирования для полных и для инкрементных резервных копий. График использует Windows Tasks Scheduler в Microsoft Windows и cron в Linux и macOS. Это намечено, используя пользователя операционной системы, который намечает резервную копию, который, как правило, является пользователем MySQL.

Полное резервное копирование медленнее, чем инкрементное, которое сливается с полным резервным. Общий сценарий должен установить полное резервное копирование еженедельно и инкрементное резервное копирование ежедневно. Для получения дополнительной информации посмотрите Optimizing Backup Performance.

Вкладка Contents. Вкладка Contents определяет схемы и таблицы, чтобы резервировать и является ли работа полной или частичной резервной копией:

  • Full backup: Все схемы и таблицы поддерживаются (см. рисунок).

    Рис. 6.28. Workbench: MySQL Enterprise Backup Configuration: Contents для Full Backups

    Content is described in the surrounding text.
  • Partial: Выберите схемы и таблицы (объекты), которые вы хотите. Выберите Select objects to included/excluded, чтобы открыть включение (и исключение) таблиц. Для получения дополнительной информации о том, что включать, исключать и опциях Transportable Tablespace см. Partial Backup and Restore Options.

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

  • Backup Storage Directory: По умолчанию Backup Storage Directory сохранен в подкаталоге, используя название Backup Profile Name в настройке MySQL Backup Home Directory.

    Новый подкаталог создается для каждой резервной копии с ее меткой времени. Подкаталог в качестве примера: "2016-02-22_17-49-18", где 17:49:18 это время.

    Инкрементные резервные копии также сохранены в каталоге Backup Storage Directory, но в их собственном подкаталоге inc/. Каждое инкрементное резервное копирование также создает свою собственную подпапку с меткой времени в inc/.

  • Compress Backup: Произвольно сжать неинкрементные резервные копии InnoDB.
  • Apply Log after backup: После того, как резервная копия закончена, необходима операция apply-log прежде, чем она сможет быть закончена. Это может быть сделано после резервной копии перед восстановлением, или в любое другое время. Отключено по умолчанию.
  • Skip Unused Pages: Используйте этот выбор, чтобы уменьшить размер резервных копий, удаляя неиспользованные страницы, которые, как правило, производятся большим числом удалений. Отключено по умолчанию.

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

  • Incremental Backups Using Only the Redo Log (incremental-with-redo-log-only): Определяет, что инкрементное резервное копирование должно быть создано, используя только журнал отката.
  • Encrypt Password: Устанавливает пароль, который требуется, чтобы резервировать и восстанавливать зашифрованные таблицы.

Вкладка Advanced. Вкладка Advanced позволяет вам настроить дополнительные варианты MySQL Enterprise Backup. Эти дополнительные опции не утверждены.

Чтобы восстановить данные из резервных копий см. раздел 6.7.3.

6.7.3. Восстановление из резервной копии

Мастер Backup Recovery используется, чтобы восстановить резервные копии MySQL Enterprise Backup. Для получения дополнительной информации о создании резервных копий в MySQL Workbench, см. раздел 6.7.2 .

Мастер Backup Recovery позволяет вам восстановить резервные копии из папок, файлов образов и резервных профилей, созданных в разделе 6.7.2 . Прежде чем можно будет восстановить MySQL с резервной копии на целевой сервер, необходимо сначала удалить все файлы в каталоге данных того сервера.

С активным открытым подключением MySQL нажмите Server и Backup Recovery из меню, чтобы получить экран Recovery.

Рис. 6.29. Workbench: Backup Recovery: Start

Content is described in the surrounding text.
  • Backup Profile: Выберите из доступных профилей MySQL Enterprise Backup на вашей системе.

  • Backup Image File: Открывает файловый браузер системы, выберите файл образа резервной копии, чтобы восстановить.
  • Backup Folder: Открывает файловый браузер системы, выберите резервную папку, чтобы восстановить.

На рисунке ниже сессия в качестве примера восстанавливает профиль полного резервного копирования, который был создан MySQL Workbench Online Backup. После выбора профиля "FullBackup", который мы создали ранее, используйте следующую страницу, чтобы просмотреть предстоящее восстановление.

Рис. 6.30. Workbench: Backup Recovery: Профиль

Content is described in the surrounding text.

Произвольно, нажмите View Backup Content, чтобы рассмотреть содержание резервной копии для восстановления.

Рис. 6.31. Workbench: Backup Recovery: просмотр содержимолго

Content is described in the surrounding text.

Show System переключает представление внутренних схем, например, performance_schema, и таблиц mysql.

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

Рис. 6.32. Workbench: Backup Recovery: Восстановление

Content is described in the surrounding text.

6.8. MySQL Enterprise Firewall

MySQL Workbench предоставляет графический интерфейс к MySQL Enterprise Firewall. Для получения дополнительной информации о MySQL Enterprise Firewall, см. https://dev.mysql.com/doc/en/firewall.html.

Установка и конфигурация

MySQL Workbench может справиться с установкой MySQL Enterprise Firewall и конфигурацией, установив (или деинсталлировав), включив (или отключив) плагин и включив (или отключив) Firewall Tracer.

Подготовить плагин MySQL Enterprise Firewall:

  1. Откройте связь с MySQL Enterprise Edition.

  2. Из области Navigator выберите Administration, нажмите Firewall (см. MYSQL ENTERPRISE), чтобы открыть Administration - Firewall.

    Если не установлен MySQL Enterprise Firewall, выберите Install Firewall. После того, как плагин устанавливается, MySQL Workbench показывает три средства управления: Installed status, Enabled status и Tracer status.

    Рис. 6.33. MySQL Enterprise Firewall

    Content is described in the surrounding text.
  3. Нажмите Enable Firewall, чтобы сделать плагин полностью готовым к эксплуатации, и произвольно нажмите Enable Firewall Tracer для включения трассировки. Можно изменить средства управления следующим образом:

    • Install: Выполняет запросы, чтобы установить новые таблицы MySQL Enterprise Firewall и хранимые процедуры для переключения статуса. Uninstall полностью отменяет эти эффекты, а также удаляет зарегистрированные правила.

    • Enable: Выполняет SET GLOBAL mysql_firewall_mode = ON; на подключенном сервере MySQL. Disable ставит OFF вместо ON.

      Это операция во время выполнения. Формируйте конфигурационный файл сервера MySQL, чтобы позволить MySQL Enterprise Firewall при запуске. Определенно выберите опцию mysql_firewall_mode в параметре конфигурации, чтобы позволить его после перезапуска. Можно отредактировать конфигурационный файл MySQL внешним редактором или использовать MySQL Workbench.

Правила брандмауэра и информация

Вкладка Firewall Rules перечисляет активные и зарегистрированные правила для данного пользователя, состояние каждого правила и включает варианты добавить, удалить и сохранить правила. Следующие данные показывают действия, доступные во вкладке Firewall Rules.

  • State (режим): Варианты включают OFF (отключает брандмауэр), PROTECTING (позволяет белый список), RECORDING (учебный режим) и RESET (удаляет правила). Для получения дополнительной информации о значении этих см. MySQL Enterprise Firewall Procedures and Functions.

  • Административные действия включают Add и Delete для отдельных правил и Clear, чтобы очистить (удалить) все правила. Add From File запрашивает текстовый файл правил брандмауэра (по умолчанию расширение .fwr), который содержит одно правило на строку, а Save To File сохраняет текущие правила.
  • Active rules используются в режиме PROTECTIVE, Rules being recorded являются записями в состоянии RECORDED. Переключение от RECORDING в PROTECTING копирует зарегистрированные правила в активное подмножество правил.

MySQL Workbench выполняет запросы, получает переменные и выполняет много проверок. Поэтому MySQL Workbench более полезен как административное средство для MySQL Enterprise Firewall, чем инструмент, чтобы сделать запись правил. Например, правила RECORDING в MySQL Workbench сделают запись фоновых операций, выполненных MySQL Workbench для пользователя MySQL. Кроме того, использование MySQL Workbench пользователем MySQL в режиме PROTECTING попытается выполнить операции, к которым типичный пользователь MySQL не имел бы доступа.

Рис. 6.34. Правила MySQL Enterprise Firewall

Content is described in the surrounding text.

6.9. Утилита wbcopytables

wbcopytables это утилита командной строки, включенная в MySQL Workbench, которая позволяет вам скопировать данные таблицы из исходного сервера базы данных в MySQL. Это используется мастером MySQL Workbench Migration, чтобы скопировать данные после того, как схема будет перенесена и создаваться в целевом сервере MySQL.

wbcopytables может соединиться с исходной базой данных, используя ODBC, Python DBAPI или родную библиотеку клиента MySQL.

Копия выполняет запрос SELECT на исходной базе данных и затем INSERT, чтобы вставить полученные строки в целевой сервер MySQL.

Таблица 6.2. Расположение файла (по умолчанию)

Операционная система Расположение
Linux /usr/bin/wbcopytables
macOS /Applications/MySQLWorkbench.app/Contents/MacOS/wbcopytables
Windows C:\Program Files\MySQL\MySQL Workbench 8.0\wbcopytables.exe

Параметры связи

Опциональные параметры для входных и выходных связей:

  • --odbc-source=ODBC_connection_string : Синтаксис строки подключения ODBC использует стандартный синтаксис ODBC. Можно также использовать имя источника данных ODBC (DSN).

  • --mysql-source=MySQL_connection_string: Используйте для источников MySQL (делая миграцию с MySQL на другой MySQL или копию). Это использует тот же самый синтаксис, как MySQL Utilities:
    • Для связи по TCP/IP: username[:password]@host:port

    • Для местных сокетных соединений: username[:password]@::socket_path

  • --source-password: Передает пароль для источника данных.

  • --target=MySQL_connection_string: Определяет целевую связь.
  • --passwords-from-stdin: Передает пароли через STDIN. Входные и выходные пароли должны быть отделены символом табуляции.

Можно использовать определенные опции источника данных ODBC из источника RDBMS, чтобы определить количество строк, возвращаемых за один раз для запроса SELECT.

Опциональные параметры для входных и выходных связей, которые поддерживают туннелирование SSH, чтобы скопировать данные:

  • --source-ssh-port=ssh port

  • --source-ssh-host=ssh host
  • --source-ssh-user=ssh user
  • --source-ssh-password=ssh password
  • --target-ssh-port=ssh port
  • --target-ssh-host=ssh host
  • --target-ssh-user=ssh user
  • --target-ssh-password=ssh password

Спецификация таблицы

Одна или более таблиц могут быть определены в командной строке для операции по копированию. Есть два типа копии:

  • Полная копия таблицы: --table

  • Копия диапазона: --table-range

Оба типа копии требуют ряд общих аргументов:

  • Source schema: схема или каталог, которому принадлежит таблица. Если цитирование требуется, оно должно быть сделано, используя синтаксис из источника RDBMS. Например, SQL Server использует [square_brackets].

  • Source table: таблица, чтобы скопировать. Если источник использует название схемы в дополнение к каталогу, схема и таблица должны быть определены здесь и отделены точкой. Например, [dbo].[mytable] .
  • Target schema: название схемы MySQL. Если цитирование необходимо, оно должно использовать синтаксис обратной галочки MySQL. Например, `sakila`.
  • Target table: название таблицы MySQL.
  • Select expression: список полей для SELECT. Это будет вставлено дословно в SELECT.

    Проявите осмотрительность, поскольку это выражение копируется непосредственно в SELECT.

Для избранного выражения, если входная и выходная таблицы имеют те же самые поля в том же самом порядке и используют совместимые типы, можно просто использовать здесь *, который построит запрос как "SELECT * FROM [dbo].[mytable]". В противном случае можно определить поля, как в SELECT, которые отделяются запятой (,) отделенной и с надлежащими экранировкой/цитированием, определенными для исходной RDBMS. Можно также определить преобразования данных, которые поддерживает исходная RDBMS. Например:

[client_id], [name], [address], AsText([location])

Поскольку каждый выбор должен интерпретироваться как единственный выбор командой wbcopytables, следует обеспечить OS-специфичное цитирование каждый раз, когда необходимо. Обычно цитирование ваших значений параметров с 'единственными' или "двойными" кавычками достаточно. Это дополнение к любому цитированию, специфичному для базы данных, которую вы используете.

Полная копия таблицы

Этот аргумент выполняет полный SELECT для исходной таблицы, получает записи и затем вставляет их в целевую таблицу.

Нет никаких дополнительных требуемых аргументов.

Синтаксис --table такой:

--table Source_Schema Source_Table Target_Schema Target_Table Select_Expression

Копия диапазона

Этот аргумент выполняет SELECT на исходной таблице для указанного диапазона. У таблицы должно быть числовой UNIQUE NOT NULL или PRIMARY KEY, который используется, чтобы создать выражение WHERE для диапазона.

Синтаксис --table-range такой:

--table-range Source_Schema Source_Table Target_Schema Target_Table Select_Expression Source_Key Range_Start Range_End

Произведенное выражение выглядит примерно так:

key_column >= range_start AND
key_column <= range_end

Если вы определяете -1 для Range_End, то выражение:

key_column >= range_start

Другие варианты

  • --thread-count=Number: Если вы копируете больше чем одну таблицу, можно использовать этот выбор, чтобы разделить таблицы на несколько потоков. Нет никакой поддержки деления единственной таблицы на несколько потоков.

  • --count-only: Только выполняет COUNT(*) для SELECT, произведенного опцией --table. Целевая схема и таблица могут быть опущены в этом случае.
  • --truncate-target: Выполняет TRUNCATE TABLE на каждой целевой таблице, которая копируется.

Работа с триггерами

Поскольку нет никакого способа временно отключить триггеры в MySQL, и они могут затронуть процесс копирования, MySQL Workbench сделает копию и исключит все триггеры из целевой базы данных MySQL перед запуском процесса копии, затем эти триггеры будут восстановлены после того, как копия заканчивается. Триггеры поддерживаются в целевой схеме в таблице wb_tmp_triggers.

  • --disable-triggers-on=Schema_Name : Выполняет резервную копию и процесс DROP для всех триггеров в указанной схеме.

  • --reenable-triggers-on=Schema_Name: Восстанавливает триггеры, ранее паеремещенные в таблицу wb_tmp_triggers.
  • --dont-disable-triggers: Обходит шаг отключения триггеров.

Поиск

 

Найди своих коллег!

Вы можете направить письмо администратору этой странички, Алексею Паутову. mailto:alexey.v.pautov@mail.ru