MariaDB Absturz: Tabelle existiert nicht in Motor && können nicht wiederherstellen von Tabellen

Ich bin mit:

MariaDB 10.0.5
Ubuntu 12.04 LTS
Both up to the latest patch level as per last Friday

Habe ich bekommen, in ganz eine Gurke mit einem letzten Ausgabe:

http://stackoverflow.com/questions/19910996/mysql-connect-headers-and-client-library-minor-version-mismatch-library10000

Dies führte zu massiver Korruption, weil ich kopiert & entfernt, meine ibdata1, ib_logfile0 und ib_logfile1, um es zu lösen ein symptom der oben genannten problem. Dieses Problem begann, ich denke, wenn ich nächste Schritte die mariadb-service. Wenn ich versuche, wählen Sie eine der betroffenen Tabellen oder führen Sie einen mysqldump bekomme ich die folgende:

mysqldump -u backupusr -p'somepass' --all-databases > dump.sql

mysqldump: Got error: 1932: "Table 'some_db.dw_commentmeta' doesn't exist in engine" when using LOCK TABLES

Zum Glück (EXTREM zum Glück) die Daten zu meinem großen Produktion client-Seite ist noch intakt und die Website online ist. Obwohl es mindestens eine korrupte Tabelle, die DB zu. Jetzt wieder alle meine anderen Webseiten und Datenbanken.

Ich habe noch die original ibdata1, ib_logfile0 und ib_logfile1-Dateien. Wenn ich mich bewege, diese Dateien wieder nach /var/lib/mysql/mariaDB-Dienst nicht gestartet werden.

Eines der Dinge, die ich ausprobiert habe, ist das erzwingen einer InnoDB-Wiederherstellung pro:

http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html

Aber das hat keine Wirkung. Nach, dass ich versuchte, Kraft-Verwendung des Mysql-upgrade-tool, um zu sehen, ob es könnte die Reparatur der Tische:

mysql_upgrade --password --force
FATAL ERROR: Upgrade failed

So, dass nicht mir nichts sagen. Als Nächstes habe ich die REPAIR TABLE & ALTER TABLE-ENGINE-Befehle:

http://dev.mysql.com/doc/refman/5.0/en/rebuilding-tables.html

Alter Motor:

MariaDB [sictnl_db]> ALTER TABLE si_users ENGINE = MyISAM;
ERROR 1932 (42S02): Table 'sictnl_db.si_users' doesn't exist in engine

reparieren Tabelle:

MariaDB [sictnl_db]> REPAIR TABLE si_users;
+--------------------+--------+----------+----------------------------------------------------+
| Table              | Op     | Msg_type | Msg_text                                           |
+--------------------+--------+----------+----------------------------------------------------+
| sictnl_db.si_users | repair | Error    | Table 'sictnl_db.si_users' doesn't exist in engine |
| sictnl_db.si_users | repair | status   | Operation failed                                   |
+--------------------+--------+----------+----------------------------------------------------+
2 rows in set (0.00 sec)

Damit diese alle kocht nach unten zu bekommen, die Informationen der Tabelle zurück in den Motor Tabellen. Die Dokumentation https://mariadb.com/kb/en/mariadb-storage-engines/ erklärt, dass es zwei Speicher-engines die ich verwende per default:

Aria
MyISAM

Wenn performaning die SHOW CREATE TABLE-Funktion auf einer der unbeschädigten Tabellen bekomme ich die folgende:

ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 |

So MyISAM ist es ' googeln 'mysql Reparatur von myisam' führt mich zu der folgenden Website:

Note: Would Aria have protected me against this issue?

http://dev.mysql.com/doc/refman/5.0/en/myisamchk.html

Dadurch ergibt sich mir die myisamchk-Befehl, der muss ausgerichtet werden, um die lokale Speicherung der Tabellen in etwa so:

myisamchk /var/lib/mysql/sictnl_db/*


myisamchk: error: '/var/lib/mysql/sictnl_db/db.opt' is not a MyISAM-table
---------
myisamchk: error: '/var/lib/mysql/sictnl_db/si_commentmeta.frm' is not a MyISAM-table
---------
myisamchk: error: '/var/lib/mysql/sictnl_db/si_commentmeta.ibd' is not a MyISAM-table

Also das tool scheint zu fehlen .MYI-Dateien, aber diese Dateien nicht vorhanden sind in der shell.

Ich bin dieses posting nun zu sehen, ob Sie haben jede hilfreiche Bemerkung, Krank weiter meiner Analyse in der mittleren Zeit und den Beitrag aktualisieren, sollte ich weitere.

Vielen Dank im Voraus!

InformationsquelleAutor SonicFC | 2013-11-12

Schreibe einen Kommentar