Mysql Переносимо InnoDB простим копіюванням файлів, Виконую установку, налаштування, супровід
Тестовий стенд :mysql 5.6
Отже, переноситимемо таблицюtest з сервераsrv_old наsrv_new.
1) Створюємо таблицю на новому серверіsrv_new за структурою 1 в 1 як і на старому 2) РобимоDISCARD цієї таблиці на новому серверіsrv_new
mysql> ALTER TABLE test DISCARD TABLESPACE;
У цьому таблиця лочится вX mode.DISCARD TABLESPACE — означає, що буде видалено файлtest.ibd, але не весь простір таблиці. ТакожDISCARD передбачає, що пізніше, буде зробленоIMPORT TABLESPACE з новимtest.ibd файлом.
3) На старому готуємо таблицю до експорту (дана команда доступна починаючи з версії5.6.6 ):
mysql> FLUSH TABLES test FOR EXPORT;
При цьому таблиця лочиться вshared mode (дозволено лише SELECT, операції на зміни заборонені) іdirty pages будуть скинуті на диск. Після виконання цієї команди буде створено файлtest.cfg (це бінарний файл, який містить метадані, які використовуються для перевірки схеми при імпорті). Хочу зауважити, що наявність даного файлу не обов'язково, але дуже бажано. 4) Копіюємо файлиtest.ibd,test.cfg на новий серверsrv_new 5) Знімаємо локи з таблиці на старому сервері>srv_old :
mysql> UNLOCK TABLES;
6) ІмпортуємоTABLESPACE нового*.ibd файлу на новому серверіsrv_new :
mysql>ALTER TABLE test 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Все має працювати. Конфіги правити довше, але не смертельно - зробіть один ордівський файл, в який винесете ваш алгоритм оновлення, особливо складні моменти можете заскриншотити туди ж. Потім при оновленні просто з цього файлу Ctrl C, Ctrl V. А в іншому, я не впевнений, що для розробки вам потрібна пряма остання версія - у мене коштує 4.6.0 (поточна 4.7.6), і повністю все працює , поки що сенсу апдейтуватись не бачу.
Ви про що взагалі? Що це таке "у мене коштує 4.6.0 (поточна 4.7.6)"?
Дякую. 120 млн рядків за 8 хв 7,86 sec. ))) (крім того, скільки я шукав причину відмови виконуватися останнього запиту. 🙂 ) Перед виконанням ALTER TABLE test IMPORT TABLESPACE потрібно «розширити» права. У мене зі стандартними правами, які ставить mysql, команда призводила до помилки: «ERROR 1146 (42S02): Table ‘…’ doesn’t exist»