Wie kann ich einen MySQL-Dump verlangsamen, um die aktuelle Last auf dem Server nicht zu beeinflussen?
Dabei ein MySQL-dump ist einfach genug, ich habe ein Leben dedizierten MySQL-server, ich bin zu wollen, um das setup-Replikation auf. Um dies zu tun, brauche ich die dumps der Datenbanken zu importieren, um meine Replikations-slave.
Das Problem kommt, wenn ich die dumps von MySQL geht mit voller Kraft an und bindet Ressourcen auf die sites, die Verbindung zu es. Ich Frage mich, ob es einen Weg gibt, zu beschränken und die dump-Abfragen, um eine niedrige Priorität Staat, dem der Vorzug gegeben, die live-verbindungen? Die Idee dabei ist, dass der laden von externen Seiten wird nicht beeinflusst durch den Aufwand von MySQL zu tun, einen vollständigen dump...
InformationsquelleAutor der Frage z33k3r | 2011-04-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe sehr große Datenbanken mit Zehntausenden von Tabellen, von denen einige bis zu 5 GB Daten in 10 Millionen Einträge. (Ich betreibe ein beliebter Dienst)... ich hatte schon immer Kopfschmerzen, wenn das sichern dieser Datenbanken. Mit Standard mysqldump es windt schnell sich die server-Last außer Kontrolle und stürzt ab, alles... Auswirkungen auf meinen Benutzer. Versuchen, den Prozess zu stoppen kann dazu führen, stürzte Tische und jede Menge von Ausfallzeiten bei der Wiederherstellung von Tabellen.
Ich jetzt verwenden...
Den mysqldump-Verweis an dev.mysql.com auch sagt...
Sagt nichts darüber aus, dass Sie abhängig von der Datenbank InnoDB, meine sind myISAM und das funktionierte wunderbar für mich. Server laden war fast völlig unberührt und mein service lief wie eine Rolex während des gesamten Prozesses. Wenn Sie große Datenbanken und Backup die Ihre end-user... das IST die Lösung. 😉
InformationsquelleAutor der Antwort CA3LE
Bei Verwendung von InnoDB-Tabellen verwenden Sie die --single-transaction und --quick-Optionen für mysqldump
InformationsquelleAutor der Antwort Drew Clayton
Verwenden Sie nett und gzip-Befehl um den Befehl auszuführen auf niedrigste Priorität.
InformationsquelleAutor der Antwort khushi muhammad
Können Sie das Präfix der mysqldump-Befehl mit der folgenden:
Dem laufen wird es bei niedrigen IO-und CPU-Priorität, so beschränken sollte, die Auswirkungen von it.
Beachten, dies wird nur verzögern die Zeit zwischen dem MySQL ausgeführt wird. Die Skripte selbst noch so intensiv, wie Sie vorher waren, nur mit einer längeren Pause zwischen den Skripts.
InformationsquelleAutor der Antwort Darryl at NetHosted