Как легко перенести базу данных MariaDB в MySQL 2 способами?

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

download-icon
Скачайте Бесплатно
Для ВМ, ОС, БД, файлов, NAS и т.д.
elena-zhang

Обновлено Elena Zhang 2024/07/29

Оглавление
  • Метод 1: Экспорт дампа MariaDB и импорт в MySQL

  • Метод 2: Миграция MariaDB в MySQL с использованием MySQL Workbench

  • Предварительно избегайте рисков миграции

  • Заключение

мигрировать MariaDB в MySQL

MariaDB — это база данных с открытым исходным кодом, которая была разработана в 2009 году как вариант MySQL. Она считается полноценной заменой и совместима с предыдущими версиями MySQL. Некоторые могут предпочесть оставаться в более опытном сообществе пользователей или использовать знакомый продукт, поэтому они решают вернуться к MySQL из MariaDB.

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

Метод 1: Экспорт дампа MariaDB и импорт в MySQL

Mysqldump — это инструмент для резервного копирования, который создает логические копии баз данных, позволяет реплицировать объекты базы данных и данные таблиц, а также облегчает передачу или резервное копирование на другой SQL-сервер. Он также может использоваться для генерации файлов CSV/XML или других форматов разделяемого текста. Вы можете использовать его для миграции PostgreSQL в MySQL, или для резервного копирования и восстановления MySQL.

Перед миграцией:

  • Среда: MariaDB 10.6 и MySQL 8.0.

  • Резервное копирование MariaDB перед миграцией на случай возникновения рисков.

  • Проверка несовместимостей между MariaDB и MySQL.

Перенесите non-InnoDB-движок хранения в MariaDB в InnoDB, используемый в MySQL.

1.     Проверьте механизмы хранения базы данных MariaDB.

mysql> SELECT * FROM INFORMATION_SCHEMA.TABLES;

2.     Найдите таблицы, которые несовместимы с MySQL 8.0.

3.     Модифицируйте движок на сервере MariaDB или измените его на MySQL при загрузке данных.

ALTER TABLE table_schema_and_table-name ENGINE=InnoDB;

Проверьте и измените неподходящие функции.

1.     Ознакомьтесь с различиями между MariaDB 10.6 и MySQL 8.0.

2.     Проверьте, есть ли у вас функция для некоторых столбцов.

SELECT TABLE_NAME, COLUMN_NAME

FROM information_schema.COLUMNS

WHERE COLUMN_DEFAULT LIKE ' %add_months%';

Empty set

3.     Создайте таблицу с функцией по умолчанию.

ALTER TABLE table_name ADD COLUMN column_name DATETIME DEFAULT (ADD_MONTHS(NOW(), 2));

Проверьте типы данных MariaDB и MySQL.

1.     Найдите список типов данных в базе данных.

SELECT DATA_TYPE from INFORMATION_SCHEMA.COLUMNS where

TABLE_SCHEMA = ’database_name’ and table_name =’ table_name’.

2.     Поймите, чем отличаются названия типов данных в двух базах данных.

3.     Измените тип данных на поддерживаемый MySQL соответственно.

ALTER TABLE table_name MODIFY address data_type;

Во время миграции:

1.     Создайте дамп в MariaDB.

mysqldump -u username-p database_name > source_dump.sql

2.     Заставьте неподдерживаемые механизмы хранения данных быть InnoDB.

util.dumpInstance("/tmp/dump_mariadb_10_6_force",

            {users: false, compatibility: ["force_innodb"]}

3.     Остановите и удалите MariaDB.

# служба mysql остановить

# apt-get –purge удалить “mysql*”

4.     Удалите или переместите файл конфигурации.

5.     Используйте оболочку MySQL для создания новой базы данных с таким же названием, как в MariaDB.

CREATE DATABASE target_database;

6.     Войдите в MySQL под пользователем root.

mysql -u root -p password

7.     Выйдите из оболочки MySQL и перейдите к файлу дампа.

8.     Загрузите файл дампа в MySQL:

mysql -u username -p new_database < source_dump.sql

После миграции:

1.     Проверьте миграцию:

mysql -u root -p mydatabase -e "show tables"

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

Метод 2: Миграция MariaDB в MySQL с использованием MySQL Workbench

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

1.       Перейдите в Database> Migrate, чтобы запустить мастер миграции в MySQL Workbench.

2.      На странице Overview нажмите Open ODBC Manager, чтобы проверить, установлен ли ODBC-диск для MySQL Server. Если нет, установите его через установщик MySQL, который использовался для установки MySQL Workbench. После этого нажмите Start Migration.

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

4.       Настройте детали подключения к целевой базе данных и проверьте ее подключение.

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

6.       На странице Source Objects укажите объекты для миграции. Миграция начинается.

7.       Редактируйте сгенерированный SQL для всех объектов, отображайте проблемы миграции или модифицируйте имя целевого объекта и его столбцы в раскрывающемся списке View раздела Manual Edit.

8.       На следующей странице выберите создание схемы в целевой СУБД. Дождитесь завершения создания. И проверьте или отредактируйте созданные объекты на странице Create Target Results.

9.       Настройте миграцию данных на странице Data Transfer Settings. Выберите Next, чтобы начать передачу данных.

10.    После завершения процесса просмотрите отчет о миграции и нажмите Finish, чтобы закрыть мастер.

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

12.    Проверьте, совпадают ли количество таблиц и строк.

SELECT COUNT (*) FROM table_name;

13.    Получить количество строк в каждой таблице базы данных MySQL.

SELECT

  table_name,

    table_rows

FROM

    information_schema.tables

WHERE

    table_schema = 'classicmodels'

ORDER BY table_name;

14.    Проверьте размер базы данных.

SELECT TABLE_SCHEMA AS `Database`,

TABLE_NAME AS `Table`,

ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024) AS `Size (MB)`

FROM information_schema.TABLES

GROUP BY table_schema;

15.    Проверьте размер таблицы.

SELECT table_name AS "Table",

ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"

FROM information_schema.TABLES

WHERE table_schema = "database_name"

ORDER BY (data_length + index_length) DESC;

Предварительно избегайте рисков миграции

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

Vinchin Backup & Recovery выполняет частые резервные копирования данных и эффективное восстановление для 12 виртуализаций, NAS, физических серверов и 6 баз данных, таких как Oracle DB, MySQL, SQL Server, PostgreSQL, Postgres Pro и MariaDB

Vinchin Backup & Recovery

С её помощью вы можете:

  • Автоматизируйте резервное копирование базы данных с шифрованной передачей.

  • Сократите размер резервных копий на 50% с помощью дедупликации и сжатия данных.

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

  • Выполните горячее резервное копирование MySQL без влияния на производственную БД.

  • Зашифруйте резервные копии по стандарту AES-256.

  • Восстановите базу данных в исходный или новый путь.

Загрузите 60-дневную бесплатную пробную версию корпоративной версии для безагентной миграции V2V на более чем 15 виртуальных платформах, защиты от программ-вымогателей и соответствия требованиям GDPR.

Заключение

Вы можете легко мигрировать MariaDB в MySQL, используя ручной экспорт и импорт, либо мастер миграции MySQL в MySQL Workbench. Также возможна миграция с MySQL на MariaDB. Однако следует помнить, что риски при миграции данных присутствуют всегда, и необходимо сделать резервное копирование важных данных перед выполнением операции. Vinchin Backup & Recovery упрощает резервное копирование и восстановление для 6 баз данных, включая MariaDB и MySQL, и пользователи могут централизованно управлять всеми резервными копиями и задачами через одну веб-консоль.

поделиться:

Категории: База данных
Рекомендуемые статьи