Само на ниво файл копират MyISAM таблици между версии на сървъри със същите:
- CPU 'endian' ( SPARC !=x86 )
- Версиите на MySQL са с възможност за надграждане без конвертиране (5.0.48 копие до 5.0 .52 е лошо поради промени в структурата на индекса, но 5.0.52 копие до 5.1.45 е валидно).
Пазете се от условията на състезанието... Може да осъществявате достъп до файловете чрез FTP или някакъв друг инструмент, докато базата данни чете таблицата. Има таблици „броячи“, актуализирани в .MYI дори за най-благоприятните показания на таблицата.
Открих, че следното ще гарантира целостта на MyISAM таблиците за всякакви манипулации на ниво файл:
LOCK TABLE x WRITE;
FLUSH TABLE x; -- closes all file handles into table by mysql.
< perform file-level manipulations >
FLUSH TABLE x; -- A 'stat' of the table occurs and info-schema is updated appropriately.
UNLOCK TABLES;
Ако НЕ заключите-запишете вашата таблица, mysql може да има достъп до нея (чете или записва), докато правите копиране/манипулация на ниво файл.
Това също е същият механизъм, използван за разрешаване на 'myisampack', 'myisamchk' за таблици в HOT база данни, която дори има деактивирано външно заключване, без притеснения от повреда.
-- Дж. Йоргенсън --