Verwenden Sie --single-transaction
um Tabellensperren auf InnoDB-Tabellen zu vermeiden.
Es gibt nichts, was Sie wirklich gegen MyISAM tun können, obwohl Sie MyISAM wirklich nicht verwenden sollten. Die beste Problemumgehung besteht darin, eine Lesereplikat zu erstellen und Sicherungen von dem Replikat zu erstellen, damit die Sperren die Anwendung nicht beeinträchtigen.
Was Sie finden sollten, ist, dass während einer Sicherung ein READ LOCAL
angezeigt wird Die Tabellen in der einzelnen Datenbank, die gerade gesichert wird, werden gesperrt, was bedeutet, dass Sie aus den Tabellen lesen können, aber Schreibvorgänge (Einfügen/Aktualisieren/Löschen) werden außer blockiert bestimmte Einfügungen auf MyISAM, die erreicht werden können, ohne die Sperre zu stören. Die dürfen erlaubt sein. Der einfachste Weg, dies zu sehen, ist die wiederholte Abfrage von SHOW FULL PROCESSLIST;
um Threads zu finden, die blockieren.