sql >> Database >  >> RDS >> Mysql

mysqldump gelijktijdigheid

Nou, dat is niet zeker, van Mysql-handleiding :

Deze optie stuurt een START TRANSACTIONSQL-instructie naar de server voordat gegevens worden gedumpt. Het is alleen nuttig met transactietabellen zoals InnoDB en BDB, omdat het dan de consistente status van de database dumpt op het moment dat BEGIN werd uitgegeven zonder applicaties te blokkeren.

Wanneer u deze optie gebruikt, moet u er rekening mee houden dat alleen InnoDB-tabellen in een consistente staat worden gedumpt. Bijvoorbeeld, een MyISAM- of MEMORY-tabel die tijdens het gebruik van deze optie wordt gedumpt, kan nog steeds van status veranderen.

Terwijl een --single-transactie dump bezig is, mag geen enkele andere verbinding de volgende instructies gebruiken om een ​​geldig dumpbestand (correcte tabelinhoud en binaire logcoördinaten) te garanderen:ALTER TABLE, CREATE TABLE,DROP TABLE, RENAME TABLE, TRUNCATETABLE. Een consistente lezing wordt niet geïsoleerd van die instructies, dus het gebruik ervan op een te dumpen tabel kan ertoe leiden dat de SELECT die wordt uitgevoerd door mysqldump om de tabelinhoud op te halen om onjuiste inhoud te verkrijgen of mislukken.

De optie --single-transaction en de optie --lock-tables sluiten elkaar uit, omdat LOCK TABLES ervoor zorgt dat alle lopende transacties impliciet worden uitgevoerd.

Deze optie wordt niet ondersteund voor MySQLCluster-tabellen; de resultaten kunnen niet gegarandeerd consistent zijn vanwege het feit dat de NDBCLUSTER-opslagengine alleen het READ_COMMITTED-transactie-isolatieniveau ondersteunt. Gebruik in plaats daarvan altijd NDBbackup en restore.

Om grote tabellen te dumpen, moet je de --single-transactionoptie combineren met --quick.

Als u een back-up wilt maken van uw live DB, moet u overwegen MySQL-replicatie




  1. MySql - Sequalize - Kan geen beperking voor refererende sleutels toevoegen

  2. Een Java-programma activeren op basis van database-updates en tijdsinterval

  3. Schik duplicaten en nummer de records in een volgorde - MySQL

  4. array_push() vs. $array[] =.... Wat is het snelst?