Wir verwenden Percona 5.7.16-10 Server. Ich möchte die aktuelle Lösung mit XtraDB-Cluster erweitern. Währenddessen habe ich andere Maschinen erstellt und Cluster gestartet (läuft auf Percona XtraDB Cluster Version 5.7.17-11-57) und habe dort ein paar Tests gemacht (alles scheint gut zu funktionieren). Jetzt möchte ich die aktuelle Datenbank vom laufenden Server ausgeben und in den Cluster einfügen. Es gibt kein Problem den Cluster zu stoppen (da es zum Testen ist). Aber wenn ich mysqldump so erzeuge, wie ich es gewohnt bin, kann ich es wegen pcx_strict_mode (info here) nicht in den Cluster einfügen - mit der Erzwingung Percona-XtraDB-Cluster prohibits use of LOCK TABLE/FLUSH TABLE <table> WITH READ LOCK with pxc_strict_mode = ENFORCING
, weil mysqldump ein Skript erzeugt, das eine verbotene Tabellensperre enthält. Also habe ich einige weitere Optionen getestet, wie MASTER, die diese Regel nicht überprüfen sollten, aber es hat nicht geholfen, weil die Einfügeabfrage vom Dump hängen bleibt und nichts passiert.Wiederherstellen der Datenbank in den neuen Cluster
Gibt es irgendeine mysqldump-Option, um Tabellensperrabfragen zu vermeiden, oder muss ich sie irgendwie über XtraBackup wiederherstellen und XtraBackup für den aktuellen laufenden Server verwenden?
Ich habe mehrere Themen here gelesen, aber niemandem mit dem gleichen Problem übereinstimmen. Jeder löst, wie man Cluster von einigen Fehlern wiederherstellt, nicht von Grund auf neu.
Ich werde mich freuen für jeden Vorschlag für mysqldump oder was ist der richtige Weg, "alte" Datenbank in Cluster "einzufügen".
Thank you! Ich bin mir nicht sicher, was bei meinem letzten Versuch passiert ist, aber wie du vermutest, um strict_mode auf DISABLED zu setzen, habe ich für den zweiten Versuch gearbeitet (ich muss vorher einen Fehler gemacht haben). Für einige zukünftige Leser habe ich den regulären Dump mit --single-transaction on gemacht, starte dann den Cluster mit dem DISABLED-Modus neu und stelle die DB wieder her (st on only, weil ich ein paar Live-Daten zum Testen gezogen habe). Sobald es verfügbar sein wird, werde ich Ihnen Kopfgeld geben, danke! – Radim