WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
MySQL Workbench обеспечивает способность мигрировать
ODBC-базы данных к MySQL.
Это не исчерпывающий список. Следующие разделы обсуждают эти и
дополнительные возможности миграции. Установка может быть самым сложным аспектом использования мастера
MySQL Workbench Migration. Есть
раздел, который описывает подготовку требований ODBC для Linux, macOS и
Microsoft Windows и другой
раздел, который поясняет условия установки для каждого RDBMS. MySQL Workbench Migration Wizard использует ODBC, чтобы соединиться с
исходной базой данных, за исключением MySQL. Вам будет нужен установленный
драйвер ODBC, который соответствует базе данных, от которой вы хотите
мигрировать. Например, PostgreSQL может мигрировать с драйвером psqlodbc
ODBC driver, Microsoft SQL Server может мигрировать со своим драйвером
Microsoft SQL Server driver в Windows или FreeTDS в Linux и macOS. Следующие данные показывают общие компоненты, вовлеченные в связь ODBC:
драйвер ODBC для сервера MySQL и другой системы управления реляционными
базами данных, ODBC Driver Manager и MySQL Workbench. Рис. 10.1. Схема установки миграции MySQL Workbench Определяя источник RDBMS, можно использовать источник данных, формируемый
внешне, или предоставить отдельные параметры связи MySQL Workbench.
Если вам уже формировали источник данных ODBC в вашей системе, то можно
использовать это в MySQL Workbench.
Процесс миграции не поддерживает источник или цель для связей через SSH.
Обход должен настроить зашифрованный тоннель, а затем рассматривать цель
MySQL как стандартную TCP (незашифрованную) связь. Эта секция может быть пропущена, используя MySQL Workbench от Oracle. Библиотека ODBC Driver Manager должна присутствовать.
Windows и macOS обеспечивают ее. При использовании самособранных модулей удостоверьтесь, что у вас есть
последняя версия, и что она собрана с библиотекой менеджера ODBC, которую вы
выбрали. С версии 3.0.6 pyodbc собирается с unixODBC по умолчанию.
Если вы собираете с iODBC, необходимо выполнить следующие шаги: Для компилирования удостоверьтесь, что вы установили
заголовки iODBC. Для Linux имя зависит от диспетчера пакетов вашей системы,
но общие названия Для каждого RDBMS вам нужен его соответствующий драйвер ODBC, который
должен также быть установлен на той же самой машине, что и MySQL Workbench.
Его обычно предоставляет производитель RDBMS, но в некоторых случаях его
могут также предоставить сторонние продавцы или проекты с
открытым исходным кодом. Операционные системы обычно обеспечивают графический интерфейс,
чтобы помочь установить драйверы ODBC и источники данных. Используйте это,
чтобы установить драйвер (заставьте менеджера ODBC видеть недавно
установленный драйвер ODBC). Можно также использовать его, чтобы создать
источник данных для определенного случая базы данных, используя ранее
установленный драйвер. Как правило, необходимо обеспечить название источника
данных (DSN), в дополнение к IP сервера базы данных, порту, имени
пользователя и иногда базу данных, к которой у пользователя есть доступ. Если MySQL Workbench будет в состоянии определить местонахождение
менеджера ODBC GUI для вашей системы, то кнопка Архитектура драйвера ODBC.
Так как драйвер ODBC должен быть установлен на клиентской стороне, вам
будет нужен драйвер ODBC, который поддерживает вашу операционную систему
клиента и архитектуру. Например, если вы управляете
MySQL Workbench в Linux x64, тогда вам нужен драйвер Linux x64 ODBC.
В macOS MySQL Workbench строится как 32-битное приложение, таким образом, вам
нужны 32-битные драйверы. Migration Wizard выполняет следующие шаги, мигрируя базу данных к MySQL:
Соединяет с источником RDBMS и получает список доступных
баз данных/схем. Создаются целевые объекты схемы. Столбцы для каждой таблицы копируются. Типы данных отображаются к типам данных MySQL. Индексы преобразовываются. Foreign Keys для всех таблиц (всех схем) преобразовываются. Обеспечивается возможность рассмотреть изменения для редактирования и
исправления ошибок в объектах. MySQL Workbench оказывает поддержку для перемещения от некоторых
определенных продуктов RDBMS. Мастер миграции обеспечит лучшие результаты,
мигрируя от таких продуктов. Однако в некоторых случаях другие неподдержанные
продукты базы данных могут также мигрироваться при помощи универсальной
поддержки БД, пока у вас есть драйвер ODBC. В этом случае миграция будет
менее автоматической, но тем не менее должна работать. Этот пример мигрирует базу данных Microsoft SQL Server к MySQL и включает
изображение для каждого шага. В MySQL Workbench выберите Рис. 10.2. Миграция в MySQL Workbench: обзор Это описывает предпосылки и требования, которые должны быть поняты прежде,
чем продолжить. Опция Нажмите Выберите источник, который мигрирует к MySQL. Выберите
Database System, которая мигрирует, другие
параметры связи изменятся соответственно. Рис. 10.3. Миграция MySQL Workbench: исходный выбор (параметры) Цель это база данных MySQL, которая будет содержать недавно мигрировавшую
базу данных. Текущие подключения Workbench MySQL будут доступны здесь или
можно выбрать Рис. 10.4. Миграция MySQL Workbench: Целевой выбор Список Схем получается от обоих RDBMS, входной и выходной.
Это автоматизированный информационный шаг, который сообщает, что связанные
со связью ошибки и/или общую информацию. Нажмите
Рис. 10.5. MySQL Workbench: список схем Выберите схемы, которые вы хотите мигрировать. Опции "Schema Name Mapping Method" для миграции с
Microsoft SQL Server:
Рис. 10.6. MySQL Workbench: Выбор схем Исходные метаданные получены из источника и затем перепроектированы.
Это автоматизированный информационный шаг, который сообщает о связанных
ошибках и общей информации. Просмотрите журнал и затем нажмите
Рис. 10.7. MySQL Workbench: Перепроектируйте источник Обнаруженные на стадии Reverse Engineer
Source объекты показаны и сделаны доступными. Результаты включают
таблицу, представление и сохраненные подпрограммы,
только объекты таблицы выбраны по умолчанию. Рис. 10.8. MySQL Workbench: Исходные объекты Процесс миграции теперь преобразовывает выбранные объекты в совместимые
объекты MySQL. Рис. 10.9. MySQL Workbench: миграция Есть три секции, чтобы отредактировать, которые выбраны при помощи
блока View справа вверху. Кнопка
доступна с каждым
представлением, она покажет произведенный код MySQL, который
соответствует выбранному объекту.
Рис. 10.10. MySQL Workbench: Редактирование (проблемы миграции)
: представление объекта,
которое позволяет вам рассматривать и редактировать определения объектов.
Дважды щелкните по строке, чтобы изменить имя целевых объектов.
Рис. 10.11. MySQL Workbench: Редактирование (все объекты)
:
показывает все отображения столбца таблицы и позволяет вам индивидуально
просматривать и исправлять отображение для всех типов столбца, значений по
умолчанию и других признаков.
Рис. 10.12. MySQL Workbench: Редактирование (отображения столбцов)
Схема может быть создана добавлением к целевой RDBMS, создав файл скрипта
SQL или обоими способами. Рис. 10.13. MySQL Workbench: Целевые варианты создания Теперь схема создается. Полный журнал также доступен здесь. Рис. 10.14. MySQL Workbench: Создание схемы Произведенные объекты в этом примере перечисляются наряду с сообщениями
об ошибках, если они есть. Код миграции может также быть рассмотрен и отредактирован здесь.
Чтобы внести изменения, выберите объект, отредактируйте код запроса и затем
нажмите Create Schema) с измененным кодом, и затем
продолжит процесс миграции. Это также означает, что ранее сохраненная
схема будет сброшена. Рис. 10.15. MySQL Workbench: создайте целевые результаты Следующий шаг передает данные из источника RDBMS к целевой базе данных
MySQL. Экран установки включает следующие варианты: Data Copy:
Этот более быстрый метод избегает потребности передачи всех данных через
MySQL Workbench или иметь постоянное сетевое соединение между серверами
MySQL. Этот выбор был добавлен в MySQL Workbench 6.3.0. Опции: Рис. 10.16. MySQL Workbench: установка передачи данных В зависимости от выбранного выбора это передаст данные целевой RDMS
(по умолчанию), произведет простой скрипт для передачи данных онлайн или
произведет скрипт, чтобы выполнить на исходном хосте, который тогда
производит zip-файл, содержащий скрипт передачи и данные, который будет
выполнен на целевом хосте. Произвольно, просмотрите журнал в поисках ошибок.
Рис. 10.17. MySQL Workbench: оптовая передача данных И наконец, отчет о миграции доступен и суммирует весь процесс миграции.
Рис. 10.18. MySQL Workbench: Отчет о миграции Нажим Рис. 10.19. MySQL Workbench: просмотр мигрировавшей базы данных Если вкладка MySQL Workbench SQL Editor уже открыта, то список схем в
Object Browser должен быть освежен, чтобы просмотреть
недавно импортированную схему. Когда поддержанный продукт RDBMS будет использован для миграции, мастер
MySQL Workbench Migration Wizard автоматически преобразует столько
информации, сколько может, но все еще надо вручную редактировать
автоматически перенесенную схему для трудных случаев
или когда отображение по умолчанию не такое. Вообще говоря, только информация о таблице
и ее данные автоматически преобразовываются в MySQL. Кодовые объекты, такие
как представления, хранимые процедуры и триггеры, нет. Но поддержанные
данные RDBMS будут получены и показаны в мастере. Можно тогда вручную
преобразовать их или сохранить для преобразования в более позднее время. Следующие продукты RDBMS и версии в настоящее время проверяются и
поддерживаются мастером MySQL Workbench Migration Wizard,
хотя другие продукты RDBMS могут быть также перенесены, см.
раздел 10.2.3:
Большинство баз данных ODBC может мигрировать, используя универсальную
поддержку БД. В этом случае кодовые объекты не будут восстановлены из
исходной базы данных, переносятся только таблицы и данные. Используя универсальную поддержку, типы данных столбцов отображены,
используя следующие шаги: Это ищет первый вход в Следующая таблица показывает сравнение между каждым продуктом DBMS,
поддержанным мастером Migration Wizard и MySQL. Таблица 10.1. Концептуальные эквиваленты между поддержанными
продуктами DBMS и MySQL Обработка структурных различий Microsoft SQL Server и MySQL.
База данных Microsoft SQL Server составлена из одного каталога и одной или
более схем. MySQL только поддерживает одну схему для каждой базы данных (или
скорее база данных MySQL это схема), таким образом, это различие в дизайне
должно быть запланировано. Mастер Migration Wizard должен знать, как
обращаться с миграцией схем для исходной базы данных (Microsoft SQL Server).
Это может сохранить все схемы как есть (мастер миграции создаст одну базу
данных на схему) или слить их в единственную базу данных MySQL.
Дополнительные варианты включают: удалить названия схемы (мастер миграции
будет обращаться с возможными столкновениями имен, которые могут появиться по
ходу дела) или добавить название схемы к именам объектов базы
данных как префикс. Эта опция была добавлена в MySQL Workbench 6.2.0. Microsoft Windows требуется, потому что драйверы Microsoft Access ODBC
доступны только в Windows. Что касается места назначения, сервер MySQL может
быть на той же самой машине или в другом месте в вашей сети. Microsoft Access Microsoft Access хранит информацию отношений/внешнего
ключа во внутренней таблице под названием
MSysRelationships.
Таблица защищена от доступа для чтения даже пользователем Admin,
поэтому при попытке мигрировать, не открывая доступ к ней,
вы получите ошибку:
Шаги, чтобы предоставить доступ для чтения роли
Admin (Microsoft Access 2007):
Рис. 10.20. Местонахождение инструмента Visual Basic Macro Database
Чтобы подтвердить, что вы вошли как пользователь "Admin",
определите местонахождение панели Immediate,
напечатайте "? CurrentUser" и нажмите .
Это должно вывести "Admin" под "? CurrentUser" в панели. Рис. 10.21. GRANT SELECT ON MSysRelationships TO Admin Закройте Microsoft Access. От главного экрана MySQL Workbench можно запустить мастер Migration
Wizard, щелкнув по кнопке (
) в боковой панели Workbench или выбрав из главного меню
,
. Рис. 10.22. Страница обзора миграции Чтобы проверить, что вы установили драйвер ODBC, нажмите
Drivers. Рис. 10.23. Проверка драйверов ODBC для Access У MySQL Workbench есть 64-битный исполняемый файл. Драйверы ODBC, которые
вы используете, должны иметь ту же самую архитектуру.
Если во время миграции вы получаете ошибку ODBC
"architecture mismatch between the Driver and Application",
вы установили неверную версию MySQL Workbench. На вкладке User DSN нажмите
, чтобы создать DSN для вашего
файла базы данных. Рис. 10.24. Добавление нового DSN Нажмите Source Selection. Здесь необходимо предоставить
информацию о базе данных Access, с которой вы мигрируете, драйвере ODBC и
параметры для связи. Откройте комбинированное окно Database System
для списка поддерживаемых RDBMS и выберите
Microsoft Access из списка.
Есть другое комбинированное окно ниже Stored
Connection. Это перечисляет сохраненные настройки подключения для этой
RDBMS. Можно сохранить связи, отметив флажок внизу страницы,
наряду с названием связи. Следующее комбинированное окно выбирает Connection
Method. На этот раз мы собираемся выбрать
ODBC Data Source из списка. Это позволяет вам выбирать
созданные ранее DSN, которые вы формировали в своей системе. Список DSN имеет все DSN, которые
вы определили в своей системе. Выберите тот, который вы создали для
базы данных Access. В поле Default Character Set
можно выбрать набор символов базы данных. Если ваша версия Access
использует символы western/latin, можно оставить по умолчанию
cp1252.
Однако, если вы используете локализованную версию Access, необходимо
ввести правильный набор символов, используемый выпуском Microsoft Office,
иначе данные будут скопированы неправильно. Рис. 10.25. Исходный выбор Access Наконец, нажмите Затем, настройте целевые параметры базы данных (MySQL), определив
параметры, которые соединяются с вашим экземпляром MySQL Server.
По окончании нажмите Рис. 10.26. Целевой выбор базы данных Необходимо просмотреть инженерный анализ выбранных объектов базы данных.
В этом пункте мастер миграции получает релевантную информацию о включенных
объектах базы данных (таких как имена таблиц, столбцы таблицы, первичные и
внешние ключи, индексы, представления, триггеры и т.д.). Рис. 10.27. Результат анализа источника Надо проверить, что все подходит. Затем Source
Objects показывает список объектов, которые были получены и
доступны для миграции. Рис. 10.28. Исходные объекты В предыдущем примере мастер миграции обнаружил таблицу и объекты
представления для исходной базы данных. Только объект таблицы выбран по
умолчанию для миграции. Можно также выбрать объекты представления, но
необходимо также предоставить их соответствующий MySQL эквивалентный код
позже (никакая автоматическая миграция недоступна для них),
таким образом, наш пример оставит представления непроверенными.
То же самое касается хранимых процедур, функций и триггеров. Нажмите Рис. 10.29. Выбор исходных объектов Объекты справа будут мигрироваться. Фильтр может отфильтровать список
(подстановочные знаки позволены, как продемонстрировано выше). При помощи
кнопок стрелки можно отфильтровать объекты, которые вы не хотите мигрировать.
Очистите текст фильтра, чтобы проверить полный список выбранных объектов. Наш
пример мигрирует все объекты таблицы, таким образом, все они находятся в
списке Objects to Migrate и флажок
Migrate Table Objects отмечен. В этом пункте мастер миграции преобразовывает выбранные объекты в их
эквивалентные объекты целевого сервера MySQL, это также производит код MySQL,
который должен был создать их. Вам, возможно, придется ждать, прежде чем
шаг Manual Editing покажет начальную страницу.
Рис. 10.30. Редактирование вручную: начальная страница Блок View изменяет способ, которым
показывают мигрировавшие объекты базы данных. Нажмите
, чтобы смотреть и отредактировать
произведенный код MySQL, который соответствует выбранному объекту.
Кроме того, можно дважды щелкнуть по элементу в дереве объектов, чтобы
отредактировать имя объекта или дважды щелкнуть по строке базы данных, чтобы
изменить ее название. Рис. 10.31. Редактирование вручную: все объекты Блок View также имеет опцию
Column Mappings. Это показывает столбцы таблицы
и позволяет вам просматривать и менять отображение типов столбца, значения по
умолчанию и другие признаки. Рис. 10.32. Отображения столбцов Теперь откроется страница
Target Creation Options. Рис. 10.33. Целевые варианты создания Используйте варианты целевого создания, чтобы выполнить произведенный код
в целевой RDBMS или можно сбросить его в файл скрипта SQL.
Код SQL будет выполнен на целевом сервере MySQL. Можно рассмотреть его
работу на странице Create Schemas. Рис. 10.34. Создает схемы Когда создание схем и объектов, закончено можно перейти к странице
Create Target Results. Это представляет список
созданных объектов и включает любые произведенные ошибки, в то время как
они были созданы. Рис. 10.35. Созданы целевые результаты Можно отредактировать код миграции, используя код справа и сохранить
изменения при нажатии Data Transfer Setup. Следующий шаг передает данные из исходной базы данных Access в вашу
недавно созданную целевую базу данных MySQL. Страница Data Transfer Setup
позволяет вам формировать этот процесс. Рис. 10.36. Data Transfer Setup Есть два варианта. Первый позволяет вам выполнять живой перенос
и/или сбросить данные в пакетный файл, который можно выполнить позже.
Другой вариант позволяет вам изменять этот процесс. Эта обучающая программа использует значения по умолчанию для вариантов на
этой странице. Затем данные передаются. В этом пункте соответствующая
страница прогресса подтверждает выполняемые задачи. Рис. 10.37. Оптовая передача данных Как только это заканчивается, перейдите на следующую страницу.
Вам будет представлена страница отчета, суммирующая целый процесс.
Теперь просмотрите и нажмите Finish,
чтобы закрыть мастер. Теперь, когда база данных успешно мигрировала, можно рассмотреть
результаты. Откройте SQL Editor, который связан с вашим сервером MySQL, затем
запросите базу данных. Например, выполните запрос
Рис. 10.38. Проверка ваших результатов MySQL Workbench Migration Wizard проверен для следующих версий
Microsoft SQL Server: 2000, 2005, 2008 и 2012. Чтобы быть в состоянии мигрировать от Microsoft SQL
Server, гарантируйте следующее:
Microsoft Windows не требует дополнительные драйверы, которые будут
устанавливаться и формироваться, но Linux (и macOS) потребуют.
Следующие разделы включают конкретные инструкции для каждого типа системы.
Microsoft Windows XP и более новые включают по крайней мере одного драйвер
ODBC для Microsoft SQL Server, таким образом, дополнительные действия,
вероятно, не требуются на вашей системе. Много вариантов драйвера SQL Server
существуют, как описано в этой секции. Можно проверить информацию о драйвере ODBC, запустив
Windows ODBC Data Source Administrator, который доступен с
домашней страницы мастера миграции MySQL Workbench.
Альтернативно, откройте терминал Windows и выполните
Рис. 10.39. Windows ODBC Data Source Administrator: Драйверы SQL Server
Общие драйверы ODBC, доступные в Windows:
XX.X представляет номер основной версии для SQL Server, таким образом,
подлинное имя могло бы быть "SQL Server Native Client 11.0". Решите, какой драйвер вы хотите использовать, и помните его имя как
показано в ODBC Data Source Administrator. Это собственное имя используется в
MySQL Workbench, чтобы соединиться с вашим экземпляром SQL Server. Подготовка драйверов в Linux. FreeTDS version 0.92 или больше требуется. Многие дистрибутивы предлагают
более старые версии FreeTDS, таким образом, это, возможно, должно быть
установлено отдельно. Кроме того, версия FreeTDS, обеспеченная дистрибутивом,
может также быть собрана для неправильной библиотеки ODBC (обычно unixODBC
вместо iODBC, с которой работает MySQL Workbench). Из-за этого необходимо
будет, вероятно, построить эту библиотеку самому. Скрипт предоставлен, чтобы собрать FreeTDS, используя варианты, требуемые
для MySQL Workbench. Можно найти его в
Использование FreeTDS с iODBC.
Собирая FreeTDS для использования с iODBC, это должно быть собрано с
командной строкой Для компилирования удостоверьтесь, что установили
заголовки iODBC. Для Linux имя зависит от диспетчера пакетов вашей системы,
но общие названия При использовании Oracle Enterprise Linux, Redhat, CentOS и подобных
необходимо настроить хранилище EPEL в yum, чтобы найти пакет
Рис. 10.40. Откройте ODBC Administrator Название файла драйвера Рис. 10.41. ODBC Driver Add/Setup Только имя файла драйвера требуется, в то время как имя настроечного файла
может остаться неопределенным. Посмотрите примечания установки FreeTDS для Linux,
раздел
10.5.2.2. Эта секция сосредотачивается на создании связи с исходным
Microsoft SQL Server, потому что создание подключения MySQL
является стандартной операцией.
Предпосылка: вы уже установили и формировали необходимый
драйвер Microsoft
SQL Server на системе с MySQL Workbench. Выберите Рис. 10.42. SQL Server Connection Parameters: пример в Windows Database System:
Microsoft SQL Server Нажмите Выберите Рис. 10.43. SQL Server Connection Parameters: пример в Linux Параметры связи включают:
Альтернативно, выберите Имя в качестве примера "Workbench FreeTDS" или "FreeTDS",
но это имя, которое вы определили ранее, таким образом, это может или может
не быть "FreeTDS". Используйте ODBC Administrator, чтобы найти правильное имя
драйвера, поскольку иначе связь прервется. Если ваша связь сервера MSSQL работает, но импорт данных потерпел неудачу,
это могло бы быть потому, что эта опция включена. Нажмите Параметры связи подобны Linux, см.
раздел
10.5.3.2. Следующая таблица показывает отображение между типами данных
Microsoft SQL Server (источник) и MySQL. Таблица 10.2. Отображение типов Перед переходом вам будет нужно следующее:
Загрузите и установите пакет MSI для psqlODBC. Выберите новейший файл на
http://www.postgresql.org/ftp/odbc/versions/msi/,
который будет внизу страницы загрузок. Это установит psqlODBC
на вашей системе и позволит вам мигрировать от Postgresql на MySQL
с помощью MySQL Workbench. После установки iODBC, продолжите устанавливать драйверы
PostgreSQL ODBC. Загрузите исходные тексты psqlODBC с
http://www.postgresql.org/ftp/odbc/versions/src/. Имя файла будет
выглядеть подобно Проверьте установку, подтвердив, что файл
Затем необходимо зарегистрировать новый драйвер ODBC. Откройте iODBC Data Source Administrator, выполнив
Откройте вкладку ODBC Drivers
в iODBC Data Source Administrator. Рис. 10.44. iODBC Data Source Administrator Нажмите Нажмите кнопку Чтобы собрать Загрузите исходные тексты psqlODBC с
http://www.postgresql.org/ftp/odbc/versions/src/.
Используйте последнюю версию доступную для скачивания. Распакуйте архив во
временную папку, откройте терминал и
перейдите в эту папку. Процесс установки:
После загрузки мастера Migration Wizard нажмите
Overview, чтобы начать процесс миграции.
Вы сначала соединитесь с исходной базой данных PostgreSQL. Здесь вы
предоставите информацию о PostgreSQL RDBMS, драйвере ODBC, который будет
использоваться для миграции, и все параметры, требуемые для связи.
Имя драйвера ODBC это то, которое вы настраиваете, когда зарегистрировали
драйвер psqlODBC в менеджере драйверов. Откройте список Database System.
Он покажет каждую RDBMS, которая поддерживается на вашей системе. Выберите
PostgreSQL. Ниже этого списка есть дополнительный список
Stored Connection.
Сохраненные связи будут перечислены здесь, которые являются связями,
сохраненными после определения связи с
Store connection for future use as. Три варианта Connection Method:
Драйвер psqlODBC не позволяет связь, не определяя имя базы данных. Процесс миграции подобен другим базам данных. Посмотрите
раздел 10.6.4 для получения информации о том, как мастер миграции
мигрирует типы от PostgreSQL в MySQL и
раздел 10.2.1
для общего руководства по миграции. Следующая таблица показывает отображение между типами данных
PostgreSQL (источник) и MySQL. Таблица 10.3. Отображение типов Выполните модернизацию версии сервера MySQL, чтобы перейти на последнюю
версию. Типичный мастер миграции может мигрировать MySQL к MySQL, и более
простой мастер Schema Transfer Wizard
может также использоваться. Мастер MySQL Schema Transfer помогает вам переместить свои данные от более
старой версии сервера MySQL в иную (как правило, более позднюю) версию MySQL.
Этот инструмент миграции предназначается для разработчиков, поскольку это
более просто, чем типичный мастер миграции, потому что это мигрирует только
MySQL к MySQL. Данные передаются не на основе последовательного снимка,
таким образом, они работают лучше всего на локальных серверах MySQL.
Вы не должны использовать этого мастера на производственных серверах MySQL.
Чтобы открыть мастера, выберите Рис. 10.45. MySQL Schema Transfer Wizard: Обзор Прочитайте текст обзора и нажмите
Рис. 10.46. MySQL Schema Transfer Wizard: выбор связи Выберите свои целевое и исходное подключения MySQL.
После выбора и тестирования ваших подключений MySQL нажмите
Рис. 10.47. MySQL Schema Transfer Wizard: выбор схемы Выберите схемы для миграции и нажмите Рис. 10.48. MySQL Schema Transfer Wizard: копирование базы данных
Просмотрите Message Log, чтобы подтвердить,
что миграция, закончена с успехом. Нажмите , чтобы смотреть резюме результатов. Рис. 10.49. MySQL Schema Transfer Wizard: Результаты Нажмите Для визуальной пошаговой демонстрации мастера миграции посмотрите
раздел 10.2.1. Связь установлена с входными и выходными серверами баз данных. Выберите источник, который мигрирует к MySQL. Выберите
Database System, которая мигрирует,
и другие параметры связи изменятся соответственно.
Это определение связи может быть сохранено, используя
Рис. 10.50. MySQL Workbench: Выбор источника (параметры)
Цель это база данных MySQL, которая будет содержать мигрировавшие данные.
Выберите существующую связь MySQL Workbench или
Рис. 10.51. MySQL Workbench: Выбор цели Получите список доступных баз данных и выберите определенные базы данных
(и таблицы), которые вы хотите мигрировать к MySQL. Список схем получается от входной и выходной RDBMS.
Учетная запись, используемая для связи, должна иметь соответствующие
привилегии для листинга и чтения схем, которые вы хотите мигрировать.
Целевые настройки подключения RDBMS будут также проверены.
Это автоматизированный информационный шаг, который сообщает,
ошибки и общую информацию. Шаги, которые выполняются, включают: соединение с источником,
проверку связи и получение списка схем из источника. Рис. 10.52. MySQL Workbench: получение списка схем Выберите базы данных, которые вы хотите мигрировать к MySQL. Шаг Schema Name Mapping Method
предоставляет следующие возможности для перехода с
Microsoft SQL Server:
Этот пример использует Microsoft SQL Server в качестве источника RDMS.
Хотя варианты будут отличаться для других систем баз данных, логика остается
той же самой.
Рис. 10.53. MySQL Workbench Migration: выбор схем Исходные метаданные получены из источника RDBMS и перепроектированы.
Это автоматизированный информационный шаг, который сообщает об
ошибках и общей информации. Просмотрите записи и затем нажмите
Рис. 10.54. MySQL Workbench: анализ источника Объекты, обнаруженные стадией Reverse Engineer
Source, сделаны доступными здесь. Доступные объекты включают таблицы,
представления и хранимые подпрограммы, но только объекты таблицы выбраны
по умолчанию. Используйте ,
чтобы отключить отдельные объекты таблицы. Рис. 10.55. MySQL Workbench: Исходные объекты Перепроектированные объекты из источника RDBMS автоматически
преобразовываются в MySQL-совместимые объекты. Тип данных по умолчанию и
отображения значения столбца по умолчанию используются, произведенные
объекты и определения столбца могут быть просмотрены и отредактированы
на следующем шаге. Выполненные шаги включают перемещение выбранных объектов и создание
запросов SQL CREATE. Рис. 10.56. MySQL Workbench Migration: миграция Используйте блок View, чтобы выбрать секцию,
чтобы отредактировать. Кнопка
доступна на каждой
странице, и это показывает произведенный код MySQL, который
соответствует выбранному объекту.
Рис. 10.57. MySQL Workbench: Редактирование вручную
:
представление объекта, которое позволяет вам рассматривать и редактировать
определения объектов. Дважды щелкните по строке, чтобы изменить
имена целевых объектов.
Рис. 10.58. MySQL Workbench: редактирование вручную (все объекты)
:
покажет все отображения столбца таблицы и позволяет вам индивидуально
просмотреть и исправить отображение для всех типов столбца, значений по
умолчанию и других признаков.
Рис. 10.59. MySQL Workbench Migration:
редактирование вручную (отображения столбцов) Определяет дополнительные параметры настройки для целевой схемы.
Параметры конфигурации включают:
Рис. 10.60. MySQL Workbench Migration: целевые варианты создания Скрипты SQL, произведенные для мигрировавших объектов схемы, будут теперь
выполнены в целевой базе данных. Можно контролировать выполнение, если ошибки
будут, то они будут исправлены на следующем шаге. Данные о таблице также
будут мигрироваться в более позднем шаге. Рис. 10.61. MySQL Workbench Migration: создание схем Произведенные объекты перечисляются здесь, наряду с
сообщениями об ошибках. Код миграции также может быть рассмотрен и отредактирован здесь.
Чтобы внести изменения, выберите объект, отредактируйте код запроса и нажмите
Create Schemas) с измененным кодом, затем
продолжит процесс миграции. Это также означает, что ранее сохраненная
схема будет удалена. Рис. 10.62. MySQL Workbench Migration: создайте целевые результаты
Данные передаются из источника RDBMS к целевой базе данных MySQL.
Экран установки включает следующие варианты: Data Copy:
Этот более быстрый метод избегает передачи данных через MySQL Workbench
ине требует иметь постоянное сетевое соединение между серверами MySQL.
Этот выбор был добавлен в MySQL Workbench 6.3.0. Допустимые здесь опции:
Рис. 10.63. MySQL Workbench Migration: Data Transfer Setup В зависимости от выбранного варианта это передаст данные целевой RDMS
(по умолчанию), произведет простой скрипт для передачи данных онлайн или
произведет скрипт, чтобы выполнить на исходном хосте, который производит
zip-файл, содержащий скрипт передачи и данные, который будет выполнен на
целевом хосте. Произвольно, смотрите журнал, чтобы подтвердить. Рис. 10.64. MySQL Workbench Migration: оптовая передача данных Показывает итоговый отчет, который суммирует процесс миграции.
Следующие данные показывают пример отчета о миграции. Рис. 10.65. MySQL Workbench Migration: Отчет о миграции Часто задаваемые вопросы с ответами.
Глава 10. Мастер миграции базы данных
10.1.
Общие требования к установке
10.1.1. Библиотеки ODBC
Linux
iODBC
: MySQL Workbench от Oracle
уже включает iODBC и никакое дополнительное действие не требуется.
Если вы собираете пакет сами, необходимо установить iODBC или unixODBC.
iODBC рекомендуется. Можно пользоваться библиотекой iODBC, обеспеченной
дистрибутивом, устанавливая пакет libiodbc2 на Debian или libiodbc в RPM.pyodbc
: модуль Python, используемый
MySQL Workbench, чтобы взаимодействовать с ODBC, может использоваться, чтобы
мигрировать базы данных ODBC, такие как PostgreSQL и DB2. В Windows и macOS
это включено в Workbench. В Linux исполняемые модули от Oracle
также включают pyodbc.libiodbc-devel
(RPM) или
libiodbc2-dev
(Debian). Для macOS заголовки идут
с системой, и никакое дополнительное действие не требуется для этого шага.
settings['libraries'].append('odbc')
на
settings['libraries'].append('iodbc')
.CFLAGS=`iodbc-config --cflags`
LDFLAGS=`iodbc-config --libs` python setup.py install
10.1.2. Драйверы ODBC
Linux
: Есть несколько утилит GUI,
некоторые из которых включены в unixODBC. Обратитесь к документации для
вашего дистрибутива. iODBC обеспечивает
iodbcadm-gtk
.macOS
: Можно использовать ODBC
Administrator, который является отдельной загрузкой с Apple, или ODBC
Management от различного продавца. Если инструмент устанавливается в папку
/Applications/Utilities
, можно запустить его,
используя кнопку .Microsoft Windows
: Можно использовать
Data Sources (ODBC) в Administrative Tools. Если существует, кнопка
его запустит.
10.2. Обзор миграции
10.2.1. Визуальный справочник по выполнению миграции базы данных
Overview
odbcad32.exe
и используется, чтобы
подтвердить, что драйвер ODBC для SQL Server установлен и сделать изменения
конфигурации в случае необходимости.Исходный выбор
Целевой выбор
Список схем
Выбор схем
Перепроектируйте источник
Исходные объекты
Миграция
Ручное редактирование
Целевые варианты создания
Создание схемы
Создайте целевые результаты
Установка передачи данных
2
.
Это количество задач (соединений с базой данных),
используемых, копируя данные.
Оптовая передача данных
Отчет о миграции
10.2.2. Миграция от поддержанных баз данных
10.2.3. Миграция от неподдержанных баз данных
10.3. Концептуальные эквиваленты DBMS
Понятие
MS SQL Server
Sybase ASE
PostgreSQL
MySQL
Примечание
Идентификация
Да
Да
Да
Да
Auto_Increment
Да
Да
Да
Да
PostgreSQL использует последовательности для Auto_Increment.
Резервная копия
Да
Да
Да
Да
См.
MySQL Enterprise Backup. Catalog
Да
Да
Да
N/A
Можно отобразить каталог в схему и пропустить ownerobject,
использовать владельца в качестве названия схемы или слить владельца и
имя объекта вместе.
Constraints
Да
Да
Да
Да
Data Dictionary
N/A
Database
Да
Да
Да
Да
Database Instance
Дамп
Да
Да
Да
Да
mysqldump
События
Да
Да
Да
Да
Foreign Keys
Да
Да
Да
Да
Full Text Search
Да
Да
Да
Да
В InnoDB, начиная с MySQL Server 5.6 и во
всех версиях MyISAM.
Индекс
Да
Да
Да
Да
Information Schema
Да
No
Да
Да
Чувствительность к регистру имен объектов
Зависит от сопоставления
Зависит от сопоставления
Смешано
Смешано
MySQL: чувствительность имен базы данных, таблиц и триггеров
зависит от операционной системы, другие имена объектов нечувствительны к
регистру. PostgreSQL: соответственно стандарту SQL-99, непроцитированные
имена объектов рассматриваются как нечувствительные к регистру, в то время
как цитированные имена объектов чувствительные к регистру. В отличие от
стандарта, непроцитированные имена объектов преобразовываются в строчные
буквы вместо верхнего регистра.
Соглашения об именах объекта
Да
Да
Да
Да
Packages
N/A
N/A
N/A
N/A
Разделение
Да
Да
Да
Да
Performance Schema
N/A
N/A
Да
Да
Права доступа и управления
Да
Да
Да
Да
Primary Key
Да
Да
Да
Да
Ссылочная целостность
Да
Да
Да
Да
Sybase ASE: ссылочная целостность только через триггеры.
Репликация
Да
Да
Да
Да
Роли
Да
Да
Да
N/A
Роли не доступны в MySQL на уровне базы данных.
Schema
Да
Да*
Да
Да
Эквивалентно базе данных в MySQL. Sybase ASE:
схемы соответствуют именам пользователей.
Sequences
Да*
Да*
Да
Да*
Автономные объекты последовательности не поддерживаются в
MySQL. Схожая функциональность может быть получена со столбцами IDENTITY в
MSSQL и AUTO_INCREMENT в MySQL.
Режимы SQL
Да
Да
Да
SET_ANSI_* в MSSQL
Механизмы хранения
N/A
N/A
Да*
Да
PostgreSQL поддерживает и использует только один механизм
хранения (Postgresql). Другие компании добавили дополнительные механизмы
хранения к PostgreSQL.
Stored Procedures
Да
Да
Да
Да
Синонимы
N/A
N/A
N/A
N/A
Таблица
Да
Да
Да
Да
Табличное простанство
Да
Да*
Да
N/A
MSSQL группирует таблицы в схемах (что-то вроде
CREATE TABLESPACE). Sybase ASE: таблицы сгруппированы в
схемах, которые больше похожи на имена пользователей.
Временные таблицы
Да
Да
Да
Да
Транзакции
Да
Да
Да
Да
Триггеры
Да
Да
Да
Да
UDF
Да
Да
Да
Да
Unicode
Да
Да
Да
Да
Unique Key
Да
Да
Да
Да
Пользователь
Да
Да
Да
Да
Представления
Да
Да
Да
Да
10.4.
Миграция Microsoft Access
Общая информация
Подготовка базы данных Microsoft Access для миграции
[42000] [Microsoft][ODBC Microsoft Access Driver] Record(s)
cannot be read; no read permission on 'msysobjects'.
(-1907) (SQLExecDirectW)
CurrentProject.Connection.Execute "GRANT SELECT ON MSysRelationships TO Admin"
Запуск мастера MySQL Workbench Migration Wizard
Подготовка драйверов ODBC
Подготовка исходных параметров
Подготовка целевых параметров
Выберите объекты миграции
Рассмотрите предложенную миграцию
Создайте объекты базы данных
Передайте данные базе данных MySQL
Проверка
SELECT * FROM northwind.customers
,
который наполнит сетку результата.
10.5.
Миграция Microsoft SQL Server
10.5.1. Приготовления
10.5.2. Драйверы
10.5.2.1. Microsoft Windows
odbcad32.exe
. Откройте вкладку
Drivers, чтобы видеть что-то подобное:
10.5.2.2. Linux
FreeTDS
/usr/share/mysql-workbench/extras/build_freetds.sh
в Linux или в
MySQLWorkbench.app/Contents/SharedSupport/build_freetds.sh
в macOS.
Чтобы использовать его, выполните эти шаги:--enable-odbc-wide
.
Обеспеченный скрипт build_freetds.sh
делает это для вас.libiodbc-devel
(RPM-системы)
или libiodbc2-dev
(Debian-системы).
Для macOS заголовки идут с системой, и никакое дополнительное действие не
требуется для этого шага.
libiodbc-devel
. См.
здесь.mkdir ~/freetds
, чтобы создать каталог
в рамках пользовательского корневого каталога.build_freetds.sh
в
~/freetds
..tar.gz
в каталог
~/freetds
. Удостоверьтесь, что получили версию
0.92 FreeTDS или более новую.cd ~/freetds
build_freetds.sh
.make install
из пути, данного скриптом.
libtdsodbc.so
,
он расположен в /usr/lib
или
/usr/local/lib
. Например, на вкладке
ODBC Drivers нажмите
и заполните описание (имя) и
путь к файлу драйвера. Помните имя, которое вы определяете здесь, поскольку
оно будет необходимо позже. Сохраните драйвер.
10.5.2.3. macOS
10.5.3.
Установка связи
10.5.3.1. Microsoft Windows
10.5.3.2.
Linux
10.5.3.3. macOS
10.5.4.
Отображение типов Microsoft SQL Server
Исходный тип
Тип в MySQL
Комментарий
INT
INT
TINYINT
TINYINT
Флаг UNSIGNED установлен в MySQL. SMALLINT
SMALLINT
BIGINT
BIGINT
BIT
TINYINT(1)
FLOAT
FLOAT
Значение точности используется для размера
ресурса хранения в обоих. REAL
FLOAT
NUMERIC
DECIMAL
DECIMAL
DECIMAL
MONEY
DECIMAL
SMALLMONEY
DECIMAL
CHAR
CHAR/LONGTEXT
В зависимости от его длины. У MySQL Server 5.6 и выше могут
быть столбцы CHAR с длиной до 255 знаков. Что-либо большее
мигрируется как LONGTEXT. NCHAR
CHAR/LONGTEXT
В зависимости от его длины. У MySQL Server 5.6 и выше могут
быть столбцы VARCHAR с длиной до 65535 знаков. Что-либо большее
мигрируется к одному из типов TEXT. В MySQL набор символов строки зависит от
набора символов столбца вместо типа данных. VARCHAR
VARCHAR/MEDIUMTEXT/LONGTEXT
В зависимости от его длины. У MySQL Server 5.6 и выше могут
быть столбцы VARCHAR с длиной до 65535 знаков. Что-либо большее
мигрируется к одному из типов TEXT. NVARCHAR
VARCHAR/MEDIUMTEXT/LONGTEXT
В зависимости от его длины. У MySQL Server 5.6 и выше могут
быть столбцы VARCHAR с длиной до 65535 знаков. Что-либо большее
мигрируется к одному из типов TEXT. В MySQL набор символов строки зависит от
набора символов столбца вместо типа данных. DATE
DATE
DATETIME
DATETIME
DATETIME2
DATETIME
Диапазон дат в MySQL: от '1000-01-01 00:00:00.000000' до
'9999-12-31 23:59:59.999999'. Доли секунды сохранены,
начиная с MySQL Server 5.6.4. SMALLDATETIME
DATETIME
DATETIMEOFFSET
DATETIME
TIME
TIME
TIMESTAMP
TIMESTAMP
ROWVERSION
TIMESTAMP
BINARY
BINARY/MEDIUMBLOB/LONGBLOB
В зависимости от его длины. VARBINARY
VARBINARY/MEDIUMBLOB/LONGBLOB
В зависимости от его длины. TEXT
VARCHAR/MEDIUMTEXT/LONGTEXT
В зависимости от его длины. NTEXT
VARCHAR/MEDIUMTEXT/LONGTEXT
В зависимости от его длины. IMAGE
TINYBLOB/MEDIUMBLOB/LONGBLOB
В зависимости от его длины. SQL_VARIANT
Миграция не поддерживается.
Нет определенной поддержки этого типа данных. TABLE
Миграция не поддерживается.
Нет определенной поддержки этого типа данных. HIERARCHYID
Миграция не поддерживается.
Нет определенной поддержки этого типа данных. UNIQUEIDENTIFIER
VARCHAR(64)
Уникальный флаг установлен в MySQL.
Нет определенной поддержки вставки значений уникального идентификатора.
SYSNAME
VARCHAR(160)
XML
TEXT
10.6.
Миграция PostgreSQL
10.6.1. Подготовка
10.6.2. Драйверы
10.6.2.1. Microsoft Windows
10.6.2.2. Linux
psqlodbc-09.03.0400.tar.gz
.
Распакуйте архив, откройте терминал и
перейдите в нужный каталог. Процесс установки:
shell>
cd the/src/directory
shell> ./configure --with-iodbc --enable-pthreads
shell> make
shell> sudo make install
psqlodbcw.so
в каталоге
/usr/local/lib
.iodbcadm-gtk
в командной строке или запуском со
страницы Overview в MySQL Workbench Migration
Wizard, нажав кнопку .
/usr/local/lib/psqlodbcw.so
.10.6.2.3.
macOS
psqlODBC
в macOS, нужен
Xcode и его компонент "Command Line Tools", поскольку это включает
необходимый компилятор gcc
. Xcode свободен и
доступен в AppStore. После установки XCode, откройте его и перейдите в
to ,
Downloads,
Components, затем установите компонент
"Command Line Tools".
shell>
cd the/src/directory
shell> ./configure --with-iodbc --enable-pthreads
shell> CFLAGS="-arch i386 -arch x86_64" make
shell> sudo make install
10.6.3.
Установка связи
ODBC (manually entered parameters)
:
Каждый параметр, например, имя пользователя, определяется отдельно.ODBC Data Source
:
Для предварительно сконфигурированных источников данных (DSN) можно
произвольно создать DSN с использованием ODBC Administrator.ODBC (direct connection string)
:
Полная строка подключения ODBC.10.6.4.
Отображение типов данных PostgreSQL
Исходный тип
Тип MySQL
Комментарий INT
INT
SMALLINT
SMALLINT
BIGINT
BIGINT
SERIAL
INT
Установит AUTO_INCREMENT в определении таблицы. SMALLSERIAL
SMALLINT
Установит AUTO_INCREMENT в определении таблицы. BIGSERIAL
BIGINT
Установит AUTO_INCREMENT в определении таблицы. BIT
BIT
BOOLEAN
TINYINT(1)
REAL
FLOAT
DOUBLE PRECISION
DOUBLE
NUMERIC
DECIMAL
DECIMAL
DECIMAL
MONEY
DECIMAL(19,2)
CHAR
CHAR/LONGTEXT
В зависимости от его длины. У MySQL Server 5.6 и выше могут
быть столбцы CHAR с длиной до 255 знаков. Что-либо большее
мигрируется как LONGTEXT. NATIONAL CHARACTER
CHAR/LONGTEXT
В зависимости от его длины. У MySQL Server 5.6 и выше могут
быть столбцы VARCHAR с длиной до 65535 знаков. Что-либо большее
мигрируется к одному из типов TEXT. В MySQL набор символов строки зависит
от набора символов столбца вместо типа данных. VARCHAR
VARCHAR/MEDIUMTEXT/LONGTEXT
В зависимости от его длины. У MySQL Server 5.6 и выше могут
быть столбцы VARCHAR знаков. Что-либо большее мигрируется к одному
из типов TEXT. NATIONAL CHARACTER VARYING
VARCHAR/MEDIUMTEXT/LONGTEXT
В зависимости от его длины. У MySQL Server 5.6 и выше могут
быть столбцы VARCHAR знаков. Что-либо большее мигрируется к одному
из типов TEXT. В MySQL набор символов строки зависит от набора символов
столбца вместо типа данных. DATE
DATE
TIME
TIME
TIMESTAMP
DATETIME
INTERVAL
TIME
BYTEA
LONGBLOB
TEXT
LONGTEXT
CIDR
VARCHAR(43)
INET
VARCHAR(43)
MACADDR
VARCHAR(17)
UUID
VARCHAR(36)
XML
LONGTEXT
JSON
LONGTEXT
TSVECTOR
LONGTEXT
TSQUERY
LONGTEXT
ARRAY
LONGTEXT
POINT
POINT
LINE
LINESTRING
Хотя длина LINE бесконечна, а LINESTRING конечен в
MySQL, это приближено. LSEG
LINESTRING
A LSEG похож на LINESTRING только с двумя точками. BOX
POLYGON
A BOX это POLYGON с пятью точками и прямыми углами. PATH
LINESTRING
POLYGON
POLYGON
CIRCLE
POLYGON
A POLYGON используется, чтобы представить CIRCLE. TXID_SNAPSHOT
VARCHAR
10.7. Миграция MySQL
MySQL Schema Transfer Wizard
10.8. Использование мастера MySQL Workbench Migration
10.8.1. Соединение с базами данных
Исходная связь
Store connection for future use as
,
есть также опция .
Целевой выбор
10.8.2. Поиск схемы и выбор
Список схем
Выбор схем
10.8.3. Инженерный анализ
10.8.4. Выбор объектов
10.8.5. Миграция
10.8.6.
Ручное редактирование
10.8.7. Целевые варианты создания
10.8.8.
Создание схемы
10.8.9. Создайте целевые результаты
10.8.10
Передача данных и установка миграции
2
.
Это количество задач (соединений с базой данных),
используемых, копируя данные.
10.8.11. Оптовая передача данных
10.8.12. Отчет о миграции
10.9.
MySQL Workbench Migration Wizard FAQ
Найди своих коллег! |
Вы можете направить письмо администратору этой странички, Алексею Паутову.