Mir wurde gesagt, dass die Umleitung über die Shell (z. B. <
und >
) (nicht immer) die Sortierung einer Datenbank (.eg utf8) beeinflussen kann. Wie kann ich einen Export importieren, ohne ihn umzuleiten, damit ich mir darüber keine Sorgen machen muss?
7
Antworten:
Es gibt immer das Dienstprogramm mysqlimport , jedoch müsste Ihre Quelle durch begrenzte Werte begrenzt sein ... z. B. durch "SELECT * FROM ... INTO OUTFILE ...".
Wenn Sie große Datenmengen verschieben, ist es möglicherweise ohnehin schneller, diese Massenlademethode zu verwenden.
Beachten Sie jedoch die Konsequenzen, die die Replikation haben kann.
quelle
Möglicherweise möchten Sie diesen Befehl auf dem Importserver ausführen
Dies zeigt Ihnen die Standardkollatierung der Datenbank, in die Sie importieren möchten.
Sie können bei Bedarf auch die Sortierung der Importdatenbank ändern .
UPDATE !!!
Zunächst würde ich mir ansehen, was das Betriebssystem für den Zeichensatz sagt. Führen Sie in der Linux-Befehlszeile einfach Folgendes aus:
Aus MySQL-Sicht
Sie können den Standardzeichensatz in mysqldump explizit benennen
Sie können es im MySQL-Client sehen:
Versuche es !!!
Für die Sortierung müssen Sie möglicherweise eine oder mehrere Umgebungsvariablen wie diese festlegen:
Legen Sie diese beim Export für mysqldump explizit fest und importieren Sie sie für mysql wie folgt:
quelle
.sql
Datei geleitet wird, und nicht auf die Änderung der Sortierung. Das Problem scheint also im Export selbst zu liegen, nicht in der Zusammenstellung der Tabelle.Nun, Sie könnten sich bei MySQL anmelden und Folgendes tun:
Das nimmt die Shell insgesamt aus dem Bild - aber ich würde trotzdem empfehlen, Umgebungsvariablen wie zu überprüfen
NLS_LANG
.quelle