Unsere Datenbank ist ungefähr 2 GB groß. Wir führen jeden Morgen um 3 Uhr morgens einen geplanten Job aus, wenn der Datenverkehr ziemlich gering ist. Dabei exportieren wir die gesamte Datenbank und senden sie außerhalb des Standorts.
Ist es eine schlechte Praxis, dies auf einer Produktionsdatenbank zu tun? Das langsame Abfrageprotokoll wächst dabei immer mit etwa 10 Abfragen. Offene / geöffnete Tische wachsen ebenfalls etwas.
Ist dies also keine gute Backup-Strategie? Was ist eine gute / Standardalternative dazu? Ist es überhaupt schlecht für die db?
Vielen Dank.
BEARBEITEN
Wir befinden uns auf einem Linode 4096, auf dem nur die Datenbank ausgeführt wird. Es hat SSDs, aber keine Weltklasse. Wir verwenden 2 GB des 4 GB-Speichers für den innodb_buffer_pool. Der Befehl lautet wie folgt:
mysqldump --opt --u USER -pPASSWORD DATABASE | gzip > /path/to/database.sql.gz
Antworten:
Da die Datenbank groß ist, sollten Sie den Befehl dump wie folgt ausführen:
--quick
: Diese Option ist nützlich, um große Tabellen zu sichern. Es wird erzwungenmysqldump
, zeilenweise Zeilen für eine Tabelle vom Server abzurufen, anstatt den gesamten Zeilensatz abzurufen und im Speicher zu puffern, bevor er ausgeschrieben wird--single-transaction
: Diese Option setzt den Transaktionsisolationsmodus auf REPEATABLE READ und sendet eine START TRANSACTION-SQL
Anweisung an den Server, bevor Daten ausgegeben werden. Dies ist nur bei Transaktionstabellen nützlich, z. B.InnoDB
weil der konsistente Status der Datenbank zum Zeitpunkt der Ausgabe von START TRANSACTION ausgegeben wird, ohne dass Anwendungen blockiert werden.--lock-tables=false
: Option verhindert, dassMyISAM
Tabellen (falls sie beendet werden) während der Sicherung gesperrt werden.quelle
Sie sollten den Befehl mysqldump ändern und verwenden
--single-transaction
. Alle neuen Änderungen an der Datenbank werden in einer Transaktion gespeichert, und Sie verfügen über eine gültige Datenbank-Sicherung zu einem bestimmten Zeitpunkt.Ich habe zwei Schritte: Ich exportiere die Datenbank als Dump und der nächste Schritt ist das Zipen des Dumps, aber ich habe nie getestet, ob dies Unterschiede macht.
Sie können auch eine andere Backup-Software wie das Percona xtrabackup verwenden
quelle