Mysql Прехвърляне на InnoDB чрез просто копиране на файлове, инсталиране, конфигуриране, поддръжка

Тестова стенда :mysql 5.6

И така, ще прехвърлим таблицатаtest от сървъраsrv_old къмsrv_new.

1) Създайте таблица на новия сървърsrv_new според структурата 1 в 1, както на стария 2) НаправетеDISCARD за тази таблица на новия сървърsrv_new

mysql> ALTER TABLE тест DISCARD TABLESPACE;

Масата е заключена в режимX.DISCARD TABLESPACE - означава, че файлътtest.ibd ще бъде изтрит, но не и цялото таблично пространство. Освен товаDISCARD предполага, че по-късноIMPORT TABLESPACE ще бъде извършено с нов файлtest.ibd.

3) На стария подгответе таблицата за експортиране (тази команда е достъпна от версия5.6.6 ):

mysql> FLUSH TABLES тест ЗА ИЗНОС;

В този случай таблицата е заключена всподелен режим (разрешен е само SELECT, операциите по модификация са забранени) имръсните страници ще бъдат изчистени на диска. След изпълнение на тази команда ще бъде създаден файлътtest.cfg (това е двоичен файл, който съдържа метаданните, използвани за тестване на схемата при импортиране). Държа да отбележа, че наличието на този файл не е ЗАДЪЛЖИТЕЛНО, но е силно ЖЕЛАТЕЛНО. 4) Копирайте файловетеtest.ibd,test.cfg на новия сървърsrv_new 5) Премахнете заключванията от таблицата на стария сървърsrv_old :

mysql> ОТКЛЮЧВАНЕ НА МАСИ;

6) ИмпортирайтеTABLESPACE нов*.ibd файл на нов сървърsrv_new :

mysql>ALTER TABLE тест IMPORT TABLESPACE;

Това не налага ограничения на външен ключ върху импортираните данни. Файлътtest.cfg е изтрит

Навигация на публикации

Базите не могат да се сливат,просто копирайте табличните файлове, те се намират тук: C:\Progr\OpenServer\userdata\MySQL-5.1.67 За забавление можете да създадете база данни в 5.1.67 и да я копирате по този начин в 5.5.29, тук: C:\Progr\OpenServer\userdata\MySQL-5.5.29 за InnoDB, не забравяйте да копирате също ib_log0 и ib_log1. нещо трябва да работи. Отнема повече време за редактиране на конфигурации, но не фатално - направете 1 Word файл, в който да поставите вашия алгоритъм за актуализиране, можете да направите екранна снимка на особено трудни моменти там. След това, когато актуализирате само от този файл, Ctrl C, Ctrl V. А за останалото не съм сигурен, че имате нужда от най-новата версия за разработка - имам 4.6.0 (текуща 4.7.6) и всичко работи напълно, засега не виждам смисъл от актуализиране.

За какво говориш? Какво е "Имам 4.6.0 (текуща 4.7.6)"?

Благодаря ти. 120 милиона реда за 8 мин. 7,86 сек. ))) (без да броим колко търсих причината за отказа да се изпълни последната заявка. 🙂 ) Преди да изпълните ALTER TABLE тест IMPORT TABLESPACE, трябва да "удължите" правата. За мен, със стандартните права, които задава mysql, командата доведе до грешка: "ГРЕШКА 1146 (42S02): Таблица...' не съществува"