Automatisierte Backups mit nicht unterstützten MySQL-Speicher-Engines - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Automatisierte Backups mit nicht unterstützten MySQL-Speicher-Engines

Für die MySQL-DB-Engine werden automatische Backups nur für die InnoDB-Speicher-Engine unterstützt. Die Verwendung dieser Funktionen mit anderen MySQL-Speicher-Engines einschließlich MyISAM kann zu unzuverlässigem Verhalten bei der Wiederherstellung anhand von Backups führen. Da Speicher-Engines wie MyISAM keine zuverlässige Wiederherstellung nach einem Ausfall unterstützen, können Ihre Tabellen bei einem Absturz beschädigt werden. Aus diesem Grund empfehlen wir die Verwendung der InnoDB-Speicher-Engine.

  • Zum Konvertieren vorhandener MyISAM-Tabellen in InnoDB-Tabellen können Sie den Befehl ALTER TABLE verwenden, z. B.: ALTER TABLE table_name ENGINE=innodb, ALGORITHM=COPY;

  • Wenn Sie MyISAM verwenden, können Sie versuchen, die bei einem Absturz beschädigten Tabellen mit dem Befehl REPAIR manuell zu reparieren. Weitere Informationen finden Sie unter REPAIR TABLE-Anweisung in der MySQL-Dokumentation. Wie in der MySQL-Dokumentation dargestellt besteht jedoch die Möglichkeit, dass Sie Ihre Daten nicht komplett wiederherstellen können.

  • Gehen Sie wie folgt vor, wenn Sie vor der Wiederherstellung einen Snapshot Ihrer MyISAM-Tabellen erstellen möchten:

    1. Stoppen Sie alle Aktivitäten für Ihre MyISAM-Tabellen (d. h. beenden Sie alle Sitzungen).

      Sie können alle Sitzungen beenden, indem Sie den Befehl mysql.rds_kill für jeden Prozess ausführen, der von dem Befehl SHOW FULL PROCESSLIST ausgegeben wird.

    2. Sperren Sie alle MyISAM-Tabellen und lagern Sie sie aus. Mit dem folgenden Befehl werden z. B. die beiden Tabellen myisam_table1 und myisam_table2 gesperrt und ausgelagert:

      mysql> FLUSH TABLES myisam_table, myisam_table2 WITH READ LOCK;
    3. Erstellen Sie einen Snapshot Ihrer DB-Instance oder Ihres Multi-AZ-DB-Clusters. Wenn der Snapshot erstellt wurde, heben Sie die Sperren für die MyISAM-Tabellen auf und setzen Sie die Aktivitäten wieder fort. Sie können die Sperren für Ihre Tabellen mit dem folgenden Befehl aufheben:

      mysql> UNLOCK TABLES;

    Mit diesen Schritten wird eine Auslagerung der Daten im Arbeitsspeicher auf den Datenträger von MyISAM erzwungen, sodass bei der Wiederherstellung von einem DB-Snapshot ein sauberer Start sichergestellt ist. Weitere Informationen zum Erstellen eines DB-Snapshots finden Sie unter Erstellen eines DB-Snapshots für eine DB-Instance mit Single-AZ für Amazon RDS.