MyISAM
Se você tem um banco de dados all-MyISAM, isso pode funcionar porque todas as tabelas MyISAM terão 0 contadores de arquivos em seus cabeçalhos.
InnoDB
Se você tiver alguma tabela InnoDB, FLUSH TABLES WITH READ LOCK; pode não fornecer isolamento adequado para a integridade dos dados. Eu escrevi sobre isso no DBA StackExchange em novembro de 2012 (Como executar um backup frio com o Linux / tar sem desligar o MySQL slave ?)
Dada a Arquitetura InnoDB (Imagem feita por Percona CTO Vadim Tkechenko)
existemquatroobjetosqueaindaestãoemmovimentoapósaemissãodeFLUSHTABLESWITHREADLOCK;:
- Bufferdegravaçãodupla
- Inserirbuffer
- RedoLogs
- AnularRegistos
SuponhaquevocêexecuteFLUSHTABLESWITHREADLOCK;eRobocopyeleve5minutosparacopiar,oquesignificaqueasalteraçõesfísicasqueestãosendofeitasduranteos5minutosnãoestarãopresentesnobackup.Piorainda,asalteraçõesnoarquivonãoserãodeumúnicopontonotempo.Issosignificaquepodehaveralgunsarquivos.ibdquepodemounãotersidoalterados,masatransaçãoquemantémsuasalteraçõesnãofoitotalmenteconfirmada.
Vocêteriaquecopiarosdadosparaoutramáquina,iniciaroMySQLeverificarsearecuperaçãodefalhas(queocorreduranteainicializaçãodomysqld,lereprocessaressesquatroobjetos)tornaosdadosestáveiseutilizáveis.
Émelhorvocêusarmysqldumpcomaopção--single-transaction.
Paraalgumasideias,vejaminhaspostagensantigasnoDBAStackExchange
Apr17,2011:Como pode Otimizar um mysqldump de um grande banco de dados? -
Mar 14, 2014: mysqldump com nome de exportação gerado automaticamente
