Konvertiere und importiere die sql Datei in postgresql - mysql, postgresql

Ich möchte Datenbank von MySQL nach Postgresql migrieren. Also, zuerst tat das mysqldump mit diesem Befehl

mysqldump -u root -p --compatible=postgresql --default-character-set=utf8  databasename > output.sql

Dann lade ich die Ausgabe.sql zum Host hoch und importiere die SQL-Datei mit dem Befehl unten

psql -U root -d databasename -f /home/test/output.sql

Aber ich habe Fehler, wenn ich versuche zu importieren

ERROR:  syntax error at or near "KEY"
ERROR:  syntax error at or near "UNLOCK"
ERROR:  syntax error at or near "("
invalid command n
invalid command "></script>
invalid command ";s:2:
invalid command ",
invalid command "]
Query buffer reset (cleared).

Die Größe der Datenbank, die ich entsorgte, ist 7,5 GB.

Antworten:

3 für die Antwort № 1

Das in MySQL verwendete SQL und das in Postgres verwendete SQL sind nicht eins zu eins kompatibel. Sie brauchen ein Konvertierungsprogramm für alles, was nicht trivial ist.

Aus der Dokumentation für --compatible:

Diese Option garantiert nicht die Kompatibilität mit anderen Servern.

Mit anderen Worten, es ist nur leicht kompatibler.

Es gibt kommerzielle Produkte wie Navicat Dies kann Ihnen helfen, dies automatisch zu tun, oder Sie können alle Ihre MySQL-Daten in einem neutralen Format wie XML, JSON oder CSV ausgeben und mit einem anderen Tool wieder einlesen.