Ich fand diese nette Lösung , Sie Laden Sie dieses Skript auf Ihren Server herunter und geben Sie es ein
%Vor%Dies wird Ihre Tabelle in your_table_name.sql
extrahierenOptionales
Jetzt können Sie ihn mit diesem Befehlstyp umbenennen
%Vor%Und erneut injizieren mit
%Vor% Ich bin vor einiger Zeit auf dieses Problem gestoßen und habe ein Perl-Skript geschrieben. Es funktionierte gut, aber es war eine ältere Version von MySQL. Nennen Sie es wie:
extract.pl -table=TABLENAME mysqldumpfile.sql > recovered_table.sql
Wenn der Speicherauszug mit der erweiterten Einfügesyntax erstellt wurde, werden die eigentlichen Tabellendaten als einzelne Zeile in der Speicherauszugsdatei ausgeführt:
%Vor%was du einfach rausholen könntest. Das Extrahieren der eigentlichen Tabellendefinition wird schwieriger, obwohl es unmittelbar über der Datenlinie sein sollte. Habe im Moment keinen Zugriff auf eine richtige Shell, aber von meinem Kopf weg, könnte so etwas (im Pseudocode) funktionieren:
%Vor%Sie können die Erstellungs-DDL mit vernünftigem Kopf / Schwanz und den Zeilennummern, die wir gerade abgerufen haben, extrahieren:
%Vor%bedenken Sie, dass ich mir dabei den Kopf verrenge, es ist fast garantiert, dass es nicht funktioniert, aber es sollte ausreichen, um Ihnen den Anfang zu geben.
Wenn Sie eine Datenbank extrahieren möchten, können Sie Folgendes verwenden:
%Vor%Zum Beispiel:
%Vor%