Jedes Mal, wenn ich versuche, eine zu machen, mysqldump
erhalte ich die folgende Fehlermeldung:
$> mysqldump --single-transaction --host host -u user -p db > db.sql
mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM,
'$."number-of-buckets-specified"') FROM
information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'db' AND
TABLE_NAME = 'Absence';':
Unknown table 'COLUMN_STATISTICS' in information_schema (1109)
Das Ergebnis ist ein Speicherauszug, der nicht vollständig ist. Das Seltsame ist, dass derselbe Befehl, der von einem anderen Host ausgeführt wird, fehlerfrei funktioniert. Hat jemand das gleiche Problem erlebt?
Ich benutze MySQL-Client 8.0
und versuche, auf einen MySQL- 5-7
Server zuzugreifen - vielleicht ist das der Grund?
--column-statistics=0
Argument zur Liste der generierten Argumente im Feld am unteren Rand des Popup-Fensters hinzufügen .Für diejenigen, die MySQL Workbench verwenden, gibt es eine Schaltfläche "Erweiterte Optionen" auf dem Bildschirm "Datenexport". Die Option "Spaltenstatistik verwenden" kann durch Setzen auf 0 deaktiviert werden.
Ich habe es nicht bestätigt, aber es wurde vorgeschlagen, dass die folgenden Informationen ebenfalls zutreffen: In Version 8.0.14 fehlt sie. In Version 8.0.16 wird dies standardmäßig durchgeführt.
quelle
--column-statistics=0
der Befehl im Export wurde automatisch angehängt .Ich habe den ganzen Tag nach einer Lösung gesucht und hier gesungen, nur um meine zu teilen.
Ja, wahrscheinlich ist dieser Fehler auf Versionsunterschiede zurückzuführen.
Laden Sie einfach das MySQL 5.7 ZIP-Archiv von hier herunter : https://dev.mysql.com/downloads/mysql/ und entpacken Sie es. Verwenden Sie dann die Datei mysqldump.exe von dort.
Wenn Sie MySQL Workbench verwenden, müssen Sie einen Pfad zu dem von Ihnen heruntergeladenen mysqldump-Tool festlegen, indem Sie auf Bearbeiten -> Einstellungen -> Verwaltung (im linken Bereich) klicken.
Hoffe das hilft.
quelle
C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump.exe
Um diese Antwort zu vereinfachen, können Sie sie umbenennen
mysqldump
, ein Shell-Skript an dessen Stelle erstellen und dasmysqldump
mit dem--column-statistics=0
Argument umbenannte aufrufen . Z.B:Benenne mysqldump um:
Speichern Sie das folgende Shell-Skript an seiner Stelle:
quelle
Einfachste Lösung
Bei Verwendung von Mysql Workbench 8.0
Viel Glück!
quelle
Für macOS benötigen Sie die ältere Version (8.0.13), um die "Spaltenstatistik" zu sehen, da ich die Versionen 8.0.14 und 8.0.15 teste und beide die "Spaltenstatistik" nicht anzeigen.
Verwenden Sie zum Anpassen der Spaltenstatistik die Version 8.0.13 https://downloads.mysql.com/archives/get/file/mysql-workbench-community-8.0.13-macos-x86_64.dmg
quelle
In meiner Situation verwende ich Mac-OS. Übrigens gab es
[mysqldump] column-statistics=0
Felder in dermy.cnf
Datei, die unter dem/usr/local/etc
Verzeichnis platziert ist. Das Löschen dieses Felds behebt das Problem. (nicht: mysql version ist 5.7 und wird via homebrew installiert).quelle
Ich hatte auch das gleiche Problem, es tritt auf, wenn ich mehrere Datentabellen mit dem vorhandenen Schema aus einem anderen Schema zusammenführe und zusammengeführte Daten in eine eigenständige Skriptdatei exportiere. Ich habe versucht, die Spaltenstatistik = 0 zu ändern, aber das Ergebnis war wie folgt:
Also hatte ich nicht geholfen. Ich analysiere das MySQL-Protokoll, das ich gefunden habe
Es beschwert sich über die Größe des innodb_buffer_pool_size. Ich habe es auf 24MB geschafft. Dann klappt es.
quelle
Ich verwende XAMPP und MySQL Workbench warnt vor einem Versionskonflikt. Ich habe MySQL Workbench so eingestellt, dass es auf die XAMPP-Dateien mysql.exe und mysqldump.exe zeigt.
Gehen Sie zu Bearbeiten -> Einstellungen -> Verwaltung und legen Sie den jeweiligen Pfad fest.
Dies funktioniert zumindest für Version 8.0.14. Für andere sollten Sie daher die mitgelieferte Version von mysql und mysqldump vermeiden.
quelle