Kopier kun MyISAM-tabeller på filniveau mellem versioner af servere med samme:
- CPU 'endian' ( SPARC !=x86 )
- MySQL-versioner kan opgraderes uden konvertering (5.0.48 kopi til 5.0 .52 er dårlig på grund af ændringer i indeksstrukturen, men 5.0.52 kopi til 5.1.45 er gyldig).
Pas på løbsforholdene... Du kan få adgang til filerne ved hjælp af FTP eller et andet værktøj, mens databasen læser tabellen. Der er "tællere" opdateret i .MYI til selv de mest venlige tabellæsninger.
Jeg fandt ud af, at følgende vil sikre integriteten af MyISAM-tabeller til enhver manipulation på filniveau:
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;
Hvis du IKKE låser-skriver din tabel, kan mysql få adgang til den (læser eller skriver), mens du kopierer/manipulerer på filniveau.
Dette er også den samme mekanisme, der bruges til at tillade 'myisampack', 'myisamchk' for tabeller i en HOT-database, der endda har ekstern låsning deaktiveret, uden bekymringer om korruption.
-- J Jørgenson --