MySQL и MariaDB, бинарная совместимость по базам MYISAM

Модератор: Модераторы

MySQL и MariaDB, бинарная совместимость по базам MYISAM

Сообщение SSerge » 26.01.2021 12:20:42

Коллеги, вопрос проистекает из неожиданного сюрприза: обнаружено, что в MySQL 8.x напрочь убита бинарная совместимость таблиц MYISAM с предыдущими версиями, а конкретно - похерена как таковая поддержка файла-описателя формата .FRM. Оно теперь где-то глубоко внутри, не выковыривается. И, соответственно, легальный трансфер данных между разными инсталляциями возможен только через mysqldump и его текстовые дампы.
Надо, ввиду очень большого объёма и неприемлемости конвертирования в текст таскать именно бинарное представление между двумя точками инсталляций.

Вопрос разделю на несколько разных:

1. Какие есть средства (или алгоритмы процесса) вогнать имеющиеся бинарные файлы mysql 5.7 (MYISAM) в инсталляцию mysql 8.x, чтобы с информацией можно было работать? Кроме mysqldump. И существуют ли эти средства и методика вообще?

2. Как перетаскивать в бинарном виде базы MYISAM с одной инсталляции mysql 8.x на другую. Клонирование не подходит, сети между точками нет. Ткните, пожалуйста, в пошаговое описание процесса, если таковой существует.

3. Как с поддержкой MYISAM у MariaDB? Она вообще способна работать с экземплярами баз от mysql или нет? Если да, то в текущих версиях не сделали ли то же самое, что и в mysql с заголовком таблицы?
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: MySQL и MariaDB, бинарная совместимость по базам MYISAM

Сообщение Снег Север » 26.01.2021 13:45:27

У меня на фирме из-за этого остановились на 5.7 и не стали обновляться. Совместимость 5.7 и MariaDB я в полной мере не проверял, но на простых базах без навороченных встроенных процедур, совместимость работала.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2993
Зарегистрирован: 27.11.2007 16:14:47

Re: MySQL и MariaDB, бинарная совместимость по базам MYISAM

Сообщение Vadim » 26.01.2021 16:03:59

У меня линуксовый клиент (MariaDB) спокойно работал с сервером MySQL 5.7 на FreeBSD. Т.е. клиентские библиотеки ставились из репозитория ОС и через них моя прога работала. Файлы баз просто копировал с виндового сервака (там был MySQL 5.5) на сервак с FreeBSD. Базы MYISAM. Про наоборот сказать ничего не могу - не было таких задач.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: MySQL и MariaDB, бинарная совместимость по базам MYISAM

Сообщение SSerge » 26.01.2021 18:41:40

Собственно, вопрос не о совместимости клиентов, а о том, как подставить копированный набор файлов таблицы (table.FRM, table.MYD, table.MYI) из 5.х в 8.х... Или возможно ли это вогнать в MariaDB...

Добавлено спустя 3 минуты 12 секунд:
Снег Север, не очень понятно, вы в MariaDB именно базы подставляли, или описываете совместимость работы программ с интерфейсом к MariaDB/mySQL?
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: MySQL и MariaDB, бинарная совместимость по базам MYISAM

Сообщение WAYFARER » 26.01.2021 23:04:02

SSerge писал(а):1. Какие есть средства (или алгоритмы процесса) вогнать имеющиеся бинарные файлы mysql 5.7 (MYISAM) в инсталляцию mysql 8.x, чтобы с информацией можно было работать? Кроме mysqldump. И существуют ли эти средства и методика вообще?


Нет. Такого способа нет, механизм хранения данных очень сильно изменился, таблицы MyISAM больше не используются для хранения схемы.
Так что данные переносить только с помощью дампа.

SSerge писал(а):2. Как перетаскивать в бинарном виде базы MYISAM с одной инсталляции mysql 8.x на другую. Клонирование не подходит, сети между точками нет. Ткните, пожалуйста, в пошаговое описание процесса, если таковой существует.


Теперь никак)) Только дампы.

SSerge писал(а): Как с поддержкой MYISAM у MariaDB? Она вообще способна работать с экземплярами баз от mysql или нет? Если да, то в текущих версиях не сделали ли то же самое, что и в mysql с заголовком таблицы?


Скорее всего пока будет работать.

Добавлено спустя 7 минут 32 секунды:
SSerge, а что мешает везде использовать именно 5.7? Если вы используете устаревший MyISAM то какой смысл использовать новые версии MySQL?

Добавлено спустя 30 минут 31 секунду:
Ещё можно попробовать включить на серверах innodb_file_per_table и конвертировать конвертировать таблицы в InnoDB.
дальше схема простая - останавливаем сервер, копируем данные, запускаем сервер, идем на второй сервер - останавливаем, копируем, запускаем.
По идее должно работать, но не гарантий не даю))
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 517
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Re: MySQL и MariaDB, бинарная совместимость по базам MYISAM

Сообщение SSerge » 27.01.2021 04:58:44

WAYFARER писал(а):Теперь никак)) Толь


Тут интересно вот что: при апгрейде, скажем, работающей Ubuntu 18.04 на 20.04, соответственно, апгредится mySQL с 5-го на 8-й. И при своей переустановке он конвертирует все таблицы в новый формат. Чем? Неужели, через mysqldump? Или есть "скрытая новая команда"?

WAYFARER писал(а):включить на серверах innodb_file_per_table

надо посмотреть, что из этого выйдет. Настораживает, что INNODB по всем своим описаниям в принципе не дефрагменитируема и при большом количестве удаленных записей физически так и сохранит их в себе; при таком подходе как бы объём файлов не был больше, чем у дампа, в несколько раз.

ЗЫ:
Может быть кто пробовал - процесс - создать пустую таблицу myISAM с той же структурой, как и копируемая база, и заменить далее файлы .MYD и .MYI при остановленном сервере, не спасёт ли отца русской демократии?
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: MySQL и MariaDB, бинарная совместимость по базам MYISAM

Сообщение Снег Север » 27.01.2021 11:02:35

SSerge писал(а):Снег Север, не очень понятно, вы в MariaDB именно базы подставляли, или описываете совместимость работы программ с интерфейсом к MariaDB/mySQL?

Базы, изначально созданные в мускуле, переносил на марио сервер. Подключался из дельфийской программы мускуловским стандартным клиентом. Фич, которые могли быть не совместимыми, у меня не проявилось. И это под виндой 10 было.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2993
Зарегистрирован: 27.11.2007 16:14:47

Re: MySQL и MariaDB, бинарная совместимость по базам MYISAM

Сообщение olegy123 » 29.01.2021 18:00:11

SSerge писал(а):Коллеги, вопрос проистекает из неожиданного сюрприза: обнаружено, что в MySQL 8.x напрочь убита бинарная совместимость таблиц MYISAM с предыдущими версиями

там в MySQL не всегда даже 5ке базы совместимы бинарно. Чтобы Embedded оживить нужно искать libs с нужными цифрами.
Быали поподали вообще с 4 версии.. это было жестко, либлов даже на официальном сайте не найти.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: MySQL и MariaDB, бинарная совместимость по базам MYISAM

Сообщение WAYFARER » 05.02.2021 10:53:36

SSerge писал(а):Тут интересно вот что: при апгрейде, скажем, работающей Ubuntu 18.04 на 20.04, соответственно, апгредится mySQL с 5-го на 8-й. И при своей переустановке он конвертирует все таблицы в новый формат. Чем? Неужели, через mysqldump? Или есть "скрытая новая команда"?


На самом деле процедура обновления намного сложнее. А базы от версии к версии переносятся дампами вручную. Ничего он не конвертирует при обновлении.
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 517
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Re: MySQL и MariaDB, бинарная совместимость по базам MYISAM

Сообщение SSerge » 06.02.2021 07:35:53

WAYFARER писал(а):Ничего он не конвертирует при обновлении.


да ну? Вы считаете, что это я сам их незаметно для себя вручную дампами перенёс? :D
Еще и пишет в процессе обновления "database rebuilding" и перечисляет, над чем именно работает.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru