Wie repariert man eine MySQL-Datenbank unter Linux?

Summary: In diesem Blog erfahren Sie, wie Sie eine MySQL-Datenbank unter Linux manuell oder mit Hilfe einer MySQL-Datenbankreparatursoftware reparieren können. Verwenden Sie die Software, um alle Datenbankkomponenten wiederherzustellen, ohne die ursprüngliche Datenbankdatei zu beeinträchtigen. Sie können die kostenlose Demoversion der Software herunterladen, um eine Vorschau auf alle wiederherstellbaren Datenbankkomponenten zu erhalten.

Wenn die MySQL-Datenbank auf einem Linux-Rechner ausgeführt wird, kann die Datenbank aus verschiedenen Gründen beschädigt werden, z. B. durch einen Virenbefall des Rechners, einen Hardwareausfall usw. Sie können versuchen, die Datenbank von einem aktuellen Backup wiederherzustellen. Wenn das Backup jedoch nicht verfügbar ist, können Sie versuchen, die MySQL-Datenbank zu reparieren.

Methoden zur Reparatur der MySQL-Datenbank unter Linux

Methode 1 – Manuelles Reparieren der MySQL-Datenbank

Hinweis: Die manuelle schrittweise Vorgehensweise zur Reparatur von MySQL-Datenbanken kann sich je nach der von Ihnen verwendeten Speicher-Engine unterscheiden: InnoDB oder MyISAM. Daher erfordert die Fehlerbehebung von Datenbankbeschädigungen durch die Ausführung verschiedener manueller Schritte Zeit, was die Ausfallzeit der Datenbank erhöht. Verwenden Sie ein MySQL-Datenbankreparaturtool, um eine beschädigte Datenbank schnell zu reparieren und sie in ihrer ursprünglichen Form wiederherzustellen.  

Hier werden wir den schrittweisen Prozess zur Reparatur einer beschädigten MySQL-Datenbank auf einem Linux-basierten System diskutieren:

Schritt 1: Sichern Sie Ihre Datenbank

Stellen Sie sicher, dass Sie eine Sicherungskopie Ihrer Datenbank erstellen, bevor Sie versuchen, sie zu reparieren. Dies wird Ihre Datenbank vor weiterem Verlust schützen. Führen Sie die folgenden Schritte aus, um Ihre MySQL-Datenbankdateien zu sichern:

1 Melden Sie sich über SSH bei Ihrem Server an

2. Stoppen Sie Ihren MySQL-Server mit einem der folgenden Befehle, abhängig von Ihrer Linux-Distribution:

Für CentOS und Fedora, geben Sie ein:

dienst mysqld stop

Für Ubuntu und Debian, geben Sie ein:

dienst mysql stop

3. Um Ihre Datenbankdatei zu sichern, geben Sie ein:

cp -r /var/lib/mysql /var/lib/mysql_backup

4. Starten Sie den MySQL-Server neu, indem Sie den folgenden Befehl in Ihrem Linux-System ausführen:

dienst mysqld start

Schritt 2: Führen Sie “mysqlcheck” aus, um MySQL-Datenbanken zu überprüfen und zu reparieren

Hinweis: Der Befehl mysqlcheck ist nützlich für Benutzer, die die MySQL-Datenbank und -Tabellen reparieren wollen, ohne den MySQL-Dienst zu stoppen.

Sobald Sie Ihre Datenbanken gesichert haben, führen Sie den Befehl mysqlcheck aus, um die Datenbank und die Tabellen für MyISAM- oder InnoDB-Datenbank-Engines zu überprüfen und zu reparieren. Folgen Sie diesen Schritten, um mysqlcheck für die Reparatur der Datenbank zu verwenden:

1. Geben Sie als root-Benutzer den folgenden Befehl ein:

cd /var/lib/mysql

2. Überprüfen Sie die Datenbank und alle ihre Tabellen auf Beschädigungen, indem Sie den Befehl eingeben:

mysqlcheck datenbank_name

Um eine bestimmte Datenbanktabelle auf Fehler zu überprüfen, geben Sie den Befehl ein:

mysqlcheck datenbank_name tabelle_name

3. Wenn die Tabelle nicht beschädigt ist, wird eine OK-Meldung angezeigt. Wenn die Datenbanktabelle jedoch Fehler aufweist, müssen Sie sie mit dem folgenden Befehl reparieren:

mysqlcheck -r datenbank_name tabelle_name

Wenn die Ausführung des Befehls mysqlcheck das Problem nicht behebt, fahren Sie mit dem nächsten Schritt fort.

Schritt 3: Durchführen von motorspezifischen Diagnosen

Führen Sie die für die von der Datenbank und den Tabellen verwendete Speicher-Engine (InnoDB oder MyISAM) spezifische Diagnose durch. Führen Sie das entsprechende Verfahren für die Datenbank-Speicher-Engine Ihrer Tabelle aus.

Reparieren von MyISAM-Tabellen mit myisamchk

Wenn Ihre Datenbank auf einer MyISAM-Speicher-Engine läuft, führen Sie den Befehl myisamchk aus, um sie zu reparieren. Führen Sie dazu die folgenden Schritte aus:

Hinweis: Der Befehl myisamchk funktioniert nur für die MyISAM-Speicher-Engine.

1. Stoppen Sie Ihren Server mit einem der folgenden Befehle für Ihre Linux-Distribution:

Für CentOS und Fedora, verwenden Sie:

dienst mysqld stop

Für Debian und Ubuntu, verwenden Sie:

dienst mysql stop

2. Geben Sie Folgendes ein:

cd /var/lib/mysql

Ändern Sie das obige Verzeichnis durch das Verzeichnis, in dem sich Ihre beschädigte Datenbank befindet. Wenn die Datenbank zum Beispiel db1 heißt, geben Sie cd db1 ein.

3. Überprüfen Sie beschädigte Tabellen in der Datenbank mit dem folgenden Befehl:

myisamchk tabelle_name

Um alle Datenbanktabellen zu überprüfen, geben Sie den folgenden Befehl ein:

myisamchk *.MYI

4. Sobald Sie die beschädigten Tabellen in der Datenbank identifiziert haben, verwenden Sie den Befehl mysqlchk, um die Tabellen mit folgendem Befehl zu reparieren:

myisamchk -Wiederherstellung der Tabelle

5. Starten Sie den Server neu:

Für CentOS und Fedora, geben Sie ein:

dienst mysqld start

Für Debian und Ubuntu, geben Sie ein:

dienst mysql start

Ausführen des InnoDB-Wiederherstellungsprozesses

Führen Sie die folgenden Schritte aus, um eine Datenbank zu reparieren, die auf einer InnoDB-Speicher-Engine läuft:

  1. Öffnen Sie die MySQL-Konfigurationsdatei “my.cnf”. Der Speicherort der Datei “my.cnf” hängt von Ihrem Linux-Betriebssystem ab. Unter CentOS und Fedora finden Sie die Datei im Verzeichnis “/etc”. Unter Debian und Ubuntu befindet sich die Konfigurationsdatei im Verzeichnis “/etc/mysql”.
  2. Sobald Sie die Datei my.cnf gefunden haben, suchen Sie den Abschnitt [mysqld].
  3. Fügen Sie im Abschnitt [mysqld] die folgende Zeile hinzu:
innodb_force_recovery=4

4. Speichern Sie die Änderungen in der MySQL-Konfigurationsdatei und starten Sie dann den MySQL-Server neu:

Für CentOS und Fedora:

dienst mysqld neustart

Für Debian und Ubuntu:

dienst mysql neustart

5. Führen Sie den folgenden Befehl aus, um alle Datenbanken in die Datei databasesbkp.sql zu exportieren:

mysqldump -all-databases > databasesbkp.sql

6. Starten Sie den mysql-Dienst und verwenden Sie den Befehl DROP DATABASE, um zu versuchen, die betroffene Datenbank zu löschen.

Hinweis: Wenn Sie eine Datenbank nicht löschen können, löschen Sie sie manuell, nachdem Sie den MySQL-Server beendet haben.

7. Beenden Sie den MySQL-Server.

8. Geben Sie den folgenden Befehl ein, um die Datenbank manuell zu löschen:

cd /var/lib/mysql rm -rf datenbank

Ersetzen Sie “Datenbank” durch den Namen der Datenbank, die Sie reparieren möchten.

9. Öffnen Sie die Datei my.cnf erneut, und kommentieren Sie die folgende Zeile aus:

#innodb_force_recovery=4     

Dadurch wird der InnoDB-Wiederherstellungsmodus deaktiviert.

10. Speichern Sie die Änderungen, die Sie an der Datei my.cnf vorgenommen haben, und starten Sie dann Ihren MySQL-Server.

11. Versuchen Sie, die Datenbank aus der in Schritt 5 erstellten Sicherung wiederherzustellen:

mysql < datenbankenbkp.sql

Überprüfen Sie nun die wiederhergestellte Datenbank. Wenn das Problem weiterhin besteht, verwenden Sie eine spezielle MySQL-Datenbankreparatursoftware, um die Datenbank wiederherzustellen.

Methode 2 – Reparieren der MySQL-Datenbank mit Stellar Repair for MySQL

Stellar Repair for MySQL ist eine leistungsstarke Software zur Reparatur von MySQL-Datenbanken, die von DBAs empfohlen wird, um stark beschädigte Datenbanken zu reparieren und alle Objekte wiederherzustellen. Die Software ermöglicht die Reparatur von MySQL-Datenbanken sowohl auf Linux- als auch auf Windows-Systemen.

Um eine beschädigte MySQL-Datenbank zu reparieren, die auf einem Linux-System erstellt wurde, führen Sie die folgenden Schritte aus:

Schritt 1: Laden Sie die Software herunter und installieren Sie sie. Zur Installation der Software öffnen Sie das Linux-Terminal und geben Sie den folgenden Befehl ein:

$ sudo yum install app_name

Hinweis: Hier “app_name” ist der Pfad der Stellar Repair for MySQL Software-Paket, das Sie installieren müssen.

Schritt 2: Starten Sie die Software. Die Hauptschnittstelle der Software öffnet sich mit einem Anweisungsfenster. Klicken Sie auf OK, um fortzufahren.

Schritt 3: Wählen Sie im Fenster Datenordner auswählen die Version Ihrer MySQL-Installation aus, suchen Sie dann den Datenordner, der die beschädigte Datenbank enthält, und wählen Sie ihn aus.

Schritt 4: Die Liste der im ausgewählten Datenordner gespeicherten Datenbanken wird angezeigt. Wählen Sie alle oder eine bestimmte Datenbank aus, die Sie reparieren möchten, und klicken Sie dann auf Reparieren.

Schritt 5: Klicken Sie auf OK, wenn das Dialogfeld “Reparatur abgeschlossen” erscheint.

Schritt 6: Die Software zeigt eine Vorschau der wiederherstellbaren MySQL-Datenbankkomponenten an.

Schritt 7: Klicken Sie im Menü Datei auf Speichern, um die reparierte MySQL-Datenbankdatei zu speichern.

Schritt 8: Wählen Sie im Dialogfeld “Datenbank speichern” unter “Speichern unter” die Option “MySQL” aus und geben Sie dann die erforderlichen Details für die Verbindung mit Ihrem MySQL-Server ein. Klicken Sie auf Speichern, um die reparierte Datenbankdatei im MySQL-Server zu speichern. 

Schritt 9: Wenn der Speichervorgang für die reparierte Datei abgeschlossen ist, wird ein Meldungsfeld “Speichern abgeschlossen” angezeigt.

Nach Ausführung dieser Schritte wird die MySQL-Datenbank repariert.

Schlussfolgerung

Die Reparatur der MySQL-Datenbank in einem Linux-basierten System mit der manuellen Methode garantiert nicht die Wiederherstellung aller Datenbankkomponenten. Es könnte funktionieren, um kleinere Datenbankprobleme zu beheben, aber nicht, um eine stark beschädigte MySQL-Datenbank zu reparieren. Die Verwendung von Stellar Repair for MySQL Software kann Ihnen helfen, eine stark beschädigte Datenbank zu reparieren und alle ihre Komponenten wiederherzustellen, wobei die ursprüngliche Dateistruktur und der Inhalt erhalten bleiben.

Related Post

Exit mobile version