экспортировать базу данных как другую версию - PullRequest
0 голосов
/ 27 января 2020

У меня есть база данных MySQL, созданная в версии 5.7.28. Я хочу экспортировать его как файл. sql и открыть его на другом компьютере, на котором установлен MySQL 8.0.19. Как правильно экспортировать базу данных, чтобы MySQL 8.0.19 мог ее открыть?

РЕДАКТИРОВАТЬ

Я думал, что есть способ "экспортировать в версию X" из MySQL но я думаю, что нет. Я экспортировал из MySQL Workbench версии 8.0.18 в виде файла sql на компьютере с установленной MySQL 5.7.28. На Ma c с Catalina версии 10.15.2 у меня установлена ​​MySQL версия 8.0.19. В Sequel Pro я создал новую пустую базу данных и импортировал ее из файла. sql. Там написано, что произошла непредвиденная ошибка:

NSInvalidArgumentException

-[_NSInlineData isEqualToString:]: unrecognized selector sent to instance 0x600000332f60

(
0   CoreFoundation                      0x00007fff2fa308ab __exceptionPreprocess + 250
1   libobjc.A.dylib                     0x00007fff65ca1805 objc_exception_throw + 48
2   CoreFoundation                      0x00007fff2faafb61 -[NSObject(NSObject) __retain_OA] + 0
3   CoreFoundation                      0x00007fff2f994adf ___forwarding___ + 1427
4   CoreFoundation                      0x00007fff2f9944b8 _CF_forwarding_prep_0 + 120
5   Sequel Pro                          0x00000001000587cd -[SPTablesList updateTables:] + 1338
6   Sequel Pro                          0x00000001000493d5 -[SPDataImport importSQLFile:] + 2136
7   Sequel Pro                          0x000000010004f207 -[SPDataImport _importBackgroundProcess:] + 224
8   Foundation                          0x00007fff3204e788 __NSThread__start__ + 1064
9   libsystem_pthread.dylib             0x00007fff67213e65 _pthread_start + 148
10  libsystem_pthread.dylib             0x00007fff6720f83b thread_start + 15
)

Может кто-нибудь помочь мне понять, что происходит?

Ответы [ 2 ]

1 голос
/ 28 января 2020

Будь это любая версия. Если вы выполняете обновление, то не должно быть никаких проблем, если вы используете dump.

mysqldump -u user -p databasename > d1.sql

и в пункте назначения (если mysql)

mysql -u user -p databasename < d1.sql

пункт назначения (кроме mysql). ) тоже может получить d1. sql внутри. Не должно быть никаких проблем.

0 голосов
/ 28 января 2020

Проблема, с которой я столкнулся, была связана с программным обеспечением, которое я использовал. Sequel Pro в настоящее время работает на версии 1.1.2, выпущенной в апреле 2016 года. Она не поддерживает MySQL версию 8.0. Моя ошибка журнала идентична сообщениям, опубликованным на GitHub для Sequel Pro.

Мое решение - прекратить использование Sequel Pro и перейти на MySQL Workbench. Мне придется отказаться от удобного GUI Sequel Pro и узнать больше о наборе SQL запросов вручную.

...