2017-06-02 3 views
1

Ich versuche, von einer ISAM-MySQL-Datenbank in eine InnoDB-MySQL-Datenbank zu verschieben (10 Millionen von Datensätzen/Zeilen). Also versuche ich, mysqldbexport zu verwenden, um nur die Daten aus den Tabellen zu exportieren, so dass wir die einmal exportierten SQL-Dateien nicht anpassen müssen. Ich versuche, den folgenden Befehl zu verwenden, und die erforderlichen Tabellen werden nicht tatsächlich ausgeschlossen.mysqldbexport ohne Tabellen - "Variable 'foreign_key_checks' ist eine SESSION-Variable"

mysqldbexport --server = Benutzername: Passwort @ localhost db_name --export = data --bulk-Insert --exclude = db_name.table_name --output-file = full_db_name_export.sql

Ursprünglich auf Version gestartet:

MySQL Utilities mysqldbexport version 1.5.6

Dies konnte die Tabelle nicht ausschließen. Es kann den Export auch nicht abschließen, vermutlich aufgrund von Ressourcenbeschränkungen (Speicher).

I aktualisiert dann:

MySQL Utilities mysqldbexport version 1.6.5

ich jetzt den Fehler:

Source on localhost: ... connected. ERROR: Query failed. 1238 (HY000): Variable 'foreign_key_checks' is a SESSION variable

ich den Befehl SET GLOBAL FOREIGN_KEY_CHECKS = 0 versucht haben, verwendet wird; auf der mysql-Kommandozeile und es klagt nur, dass es eine SESSION-Variable ist.

Kann mir jemand helfen, entweder das Problem mit der ersten Version zu beheben, nicht auszuschließen, oder, helfen Sie mir, das Problem mit der zweiten Version zu umgehen? Oder noch besser, gib mir einen „lmgtfy“ Link, das funktioniert :)

Antwort

0

Ich habe auch diesen Fehler mysqldbcopy verwenden, können Sie es durch zwei Wege lösen könnten:
1.upgrade Ziel MySQL auf eine höhere Version, die Syntax- Unterstützung - SET GLOBAL FOREIGN_KEY_CHECKS=0
2.comemnt diese Zeile destination.disable_foreign_key_checks(True) in der Quelldatei .../site-packages/mysql/utilities/command/dbexport.py

Verwandte Themen