No, to není jisté, z příručky Mysql :
Tato volba odešle na server příkaz START TRANSACTIONSQL před uložením dat. Je užitečný pouze s transakčními tabulkami, jako je InnoDBand BDB, protože pak vypíše konzistentní stav databáze v době, kdy byl vydán BEGIN, aniž by zablokoval jakékoli aplikace.
Při použití této možnosti byste měli mít na paměti, že pouze tabulky InnoDB jsou vypisovány v konzistentním stavu. Například jakákoli tabulka MyISAM nebo MEMORY vyprázdněná při použití této možnosti může stále změnit stav.
Zatímco výpis --single-transaction je v procesu, aby byl zajištěn platný soubor výpisu (správný obsah tabulky a souřadnice binárního protokolu), nemělo by žádné jiné připojení používat následující příkazy:ALTER TABLE, CREATE TABLE,DROP TABLE, RENAME TABLE, TRUNCATETABLE. Konzistentní čtení je od těchto příkazů izolováno, takže jejich použití v tabulce, která má být vypsána, může způsobit SELECT, který provede mysqldump k načtení obsahu tabulky k získání nesprávného obsahu nebo selže.
Volby --single-transaction a --lock-tables se vzájemně vylučují, protože LOCK TABLES způsobí, že všechny čekající transakce budou implicitně potvrzeny.
Tato volba není podporována pro tabulky MySQLCluster; nelze zaručit, že výsledky budou konzistentní, protože úložný modul NDBCLUSTER podporuje pouze úroveň izolace transakcí READ_COMMITTED. Vždy byste měli místo toho použít NDBbackup a obnovit.
Chcete-li vypsat velké tabulky, měli byste zkombinovat volbu --single-transaction s --quick.
Pokud chcete zálohovat/přesunout svou živou DB, měli byste zvážit replikace MySQL