it-swarm.com.de

XAMPP/MySQL: Die Tabellenbereichsdatei für eine Tabelle konnte nach dem Neustart von MySQL nicht geöffnet werden.\Mysql\innodb_index_stats.ibd

Ich habe Drupal auf meinem lokalen XAMPP-Server installiert. Es hat gut funktioniert, keine Probleme mit dem Einfügen und Arbeiten mit der Datenbank/Site, bis ich XAMPP neu gestartet habe. Seitdem bekomme ich in meiner Logdatei folgendes: 

2013-09-02 16:18:46 2544 [Hinweis] Das Plugin 'FEDERATED' ist deaktiviert.

2013-09-02 16:18:46 3e8 InnoDB: Warnung: Die Verwendung von innodb_additional_mem_pool_size ist ABGELEHNT. Diese Option kann in zukünftigen Versionen zusammen mit der Option innodb_use_sys_malloc und mit dem internen Speicherzuweiser von InnoDB entfernt werden.

2013-09-02 16:18:46 2544 [Hinweis] InnoDB: Der InnoDB-Speicherheap ist deaktiviert

2013-09-02 16:18:46 2544 [Hinweis] InnoDB: Mutexe und rw_locks verwenden von Windows gesperrte Funktionen

2013-09-02 16:18:46 2544 [Hinweis] InnoDB: Komprimierte Tabellen verwenden Zlib 1.2.3

2013-09-02 16:18:46 2544 [Hinweis] InnoDB: Keine CPU-crc32-Anweisungen

2013-09-02 16:18:46 2544 [Hinweis] InnoDB: Pufferpool wird initialisiert, Größe = 16.0M

2013-09-02 16:18:46 2544 [Hinweis] InnoDB: Die Initialisierung des Pufferpools wurde abgeschlossen

2013-09-02 16:18:46 2544 [Hinweis] InnoDB: Das höchste unterstützte Dateiformat ist Barracuda.

2013-09-02 16:18:47 2544 [Hinweis] InnoDB: Die Protokollfolgenummern 1600614 und 1600614 in ibdata-Dateien stimmen nicht mit den Protokollfolgenummern 1600644 in den ib_logfiles überein!

2013-09-02 16:18:47 2544 [Hinweis] InnoDB: Datenbank wurde normalerweise nicht heruntergefahren!

2013-09-02 16:18:47 2544 [Hinweis] InnoDB: Starten der Wiederherstellung nach einem Absturz.

2013-09-02 16:18:47 2544 [Hinweis] InnoDB: Lesen von Tablespace-Informationen aus den .ibd-Dateien ...

2013-09-02 16:18:47 2544 [ERROR] InnoDB: Es wurde versucht, einen zuvor geöffneten Tablespace zu öffnen. Vorheriger Tabellenbereich drupal/variable verwendet die Speicherplatz-ID: 2 im Dateipfad:.\Drupal\variable.ibd. Der Tabellenbereich mysql/innodb_index_stats, der die Leerzeichen-ID: 2 verwendet, kann nicht geöffnet werden:.\Mysql\innodb_index_stats.ibd

InnoDB: Fehler: Die Tabellenbereichsdatei für eine Tabelle konnte nicht geöffnet werden.\Mysql\innodb_index_stats.ibd

InnoDB: Wir setzen die Wiederherstellung nach einem Absturz nicht fort, da dies zu einer Tabelle werden kann

InnoDB: beschädigt, wenn wir die Protokollsätze im InnoDB-Protokoll nicht anwenden können.

InnoDB: Um das Problem zu beheben und mysqld zu starten:

InnoDB: 1) Wenn ein Berechtigungsproblem in der Datei vorliegt und mysqld dies nicht kann

InnoDB: Öffnen Sie die Datei, Sie sollten die Berechtigungen ändern.

InnoDB: 2) Wenn die Tabelle nicht benötigt wird oder Sie sie aus einem Backup wiederherstellen können,

InnoDB: Dann können Sie die .ibd-Datei entfernen, und InnoDB führt eine normale Aktion aus

InnoDB: Wiederherstellung abstürzen und diese Tabelle ignorieren.

InnoDB: 3) Wenn das Dateisystem oder die Festplatte beschädigt ist und Sie nicht entfernen können

InnoDB: In der .ibd-Datei können Sie innodb_force_recovery> 0 in my.cnf einstellen

InnoDB: und zwingen InnoDB, die Wiederherstellung nach dem Absturz fortzusetzen.

Ich habe nach einer Lösung über Google gesucht, aber es scheint ein Problem nur mit der Drupal-Datenbank zu sein, da sie sich mit MySQL verbinden kann, wenn ich die Datenbank entferne.

Ich hoffe jemand könnte mir helfen :(.

16
leiseliesel

dev_khan, Versuchen Sie, MySQL im schreibgeschützten Modus mit aktivierter innodb_force_recovery-Option neu zu starten:

  1. Bearbeiten Sie meine.cnf - finden Sie die Zeile: # innodb_force_recovery = 2
  2. Kommentiere die Zeile in (entferne den #)
  3. Starten Sie MySQL neu, damit sich die MySQL-Engine selbst reparieren kann.
  4. Kommentieren Sie die innodb_force_recovery-Zeile erneut (fügen Sie # hinzu)
  5. Starten Sie MySQL erneut und Sie haben wieder vollen Zugriff ohne schreibgeschützte Einschränkung.

Grüße aus Deutschland

10
Janis Benda

Verschieben Sie diese Dateien (NICHT LÖSCHEN) in einen anderen Ordner:

innodb_index_stats.frm
innodb_table_stats.frm
slave_master_info.frm
slave_relay_log_info.frm
slave_worker_info.frm

und .ibd-Dateien mit demselben Dateinamen:

innodb_index_stats.ibd
innodb_table_stats.ibd
slave_master_info.ibd
slave_relay_log_info.ibd
slave_worker_info.ibd

Starten Sie MySQL.

33

Sie können dieses Problem lösen, indem Sie eine Zeile in Ihre mysql-Konfigurationsdatei einfügen: my.cnf oder my.ini (abhängig von Ihrer Distribution)

knapp unter [mysqld] fügen Sie diese Zeile hinzu: innodb_force_recovery = 1  

..
[mysqld]
innodb_force_recovery = 1 
..

Starten Sie dann Ihren MySql-Server neu. Sie könnten Daten verloren haben, aber der Server arbeitet wieder mit Ihren Daten.

Grüße,

19
Charles P.

Das passiert auch bei Wordpress. Es scheint nur mit der neuesten Version zu passieren, da ich zu früheren AMPPS-Versionen zurückgerollt bin und es funktioniert einwandfrei, ohne dieses innodb-Problem aufzuwerfen.

0
mandrill