Użyj --single-transaction
aby uniknąć blokowania się tabel w tabelach InnoDB.
Tak naprawdę nic nie możesz zrobić z MyISAM, chociaż naprawdę nie powinieneś używać MyISAM. Najlepszym obejściem jest utworzenie repliki do odczytu i wykonanie kopii zapasowej z repliki, aby blokady nie wpływały na aplikację.
Powinieneś znaleźć to, że podczas wykonywania kopii zapasowej READ LOCAL
blokada jest utrzymywana na tabelach w pojedynczej bazie danych, której kopia zapasowa jest obecnie tworzona, co oznacza, że możesz czytać z tabel, ale zapis (wstaw/aktualizuj/usuń) zablokuje z wyjątkiem pewne wstawki w MyISAM, które można uzyskać bez naruszania zamka. To może być dozwolone. Najłatwiejszym sposobem, aby to zobaczyć, jest wielokrotne zapytanie SHOW FULL PROCESSLIST;
aby znaleźć wątki, które są blokowane.