Ist es möglich, eine MySQL-Datenbank aus ihren Dateien zu duplizieren? [Ich weiß, dass mysqldump die beste Methode ist, um eine db zu duplizieren, aber das ist nicht möglich, da wir nur die gesicherten Dateien aus dem mysql-Ordner haben].MySQL aus Dateien wiederherstellen (ohne Dump)
Wir haben die ibdata1-Datei, die ib_log * -Dateien und die vollständigen Verzeichnisse für die drei db's, die wir aus den gesicherten Dateien wiederherstellen wollen (Ordner scheinen alle benötigten frm- und par-Dateien zu enthalten). Offensichtlich schon versucht, nur alle Dateien in/var/lib/mysql zu kopieren, und obwohl es schien, dass die Struktur intakt war, waren Versuche, auf die Daten zuzugreifen, nicht erfolgreich.
dh show databases
werden die DBs zeigen, use dbname
Werke und show tables
zeigt richtig die Tabellen, aber wenn die Daten aus [jeder] Tabelle zuzugreifen versuchen (über Abfrage) es sagt ERROR 1146 (42S02): Table ‚dbname. dbtable 'existiert nicht - trotz mysql, der uns glücklich gezeigt hat, existiert die Tabelle, als wir Tabellen zeigten.
Es sollte auch darauf hingewiesen werden, dass der Dienst gestoppt wurde, bevor Dateien und alle Dateien kopiert wurden, die mysql als Eigentümer haben, und dann der Dienst neu gestartet wurde, bevor versucht wurde, auf die Daten zuzugreifen.
Haben Sie Fehler in den MySQL-Serverprotokollen? InnoDB kann ziemlich knifflig sein, um Daten wiederherzustellen. Sie müssen mindestens sicherstellen, dass die Serverkonfigurationen für die wichtigen Variablen wie InnoDB-Protokolldateigröße usw. übereinstimmen. – KernelM
Error it gives is: 120326 10:07:18 [FEHLER] Die Tabelle dbname/tablename kann nicht von aus gefunden oder geöffnet werden Internes Datenwörterbuch von InnoDB obwohl die .frm-Datei für die Tabelle existiert. Vielleicht haben Sie InnoDB-Daten Dateien gelöscht und neu erstellt, aber vergessen, die entsprechenden .frm-Dateien von InnoDB-Tabellen zu löschen, oder Sie haben .frm-Dateien in eine andere Datenbank verschoben? oder die Tabelle enthält Indizes, die diese Version der Engine nicht unterstützt. Aber es sieht so aus, als ob Jaydee einen Link bereitgestellt hat, der Aufschluss darüber geben könnte, wie man sich erholen kann. – Exupery