A chaque fois que j'essaie de créer un, mysqldump
j'obtiens l'erreur suivante:
$> 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)
Le résultat est un vidage incomplet. La chose étrange est que la même commande, exécutée à partir d'un autre hôte, fonctionne sans générer d'erreur. Quelqu'un a-t-il rencontré le même problème?
J'utilise mysql-client 8.0
et j'essaie d'accéder à un 5-7
serveur mysql - c'est peut-être pour ça?
--column-statistics=0
argument à la liste des arguments générés dans la zone située au bas de la fenêtre contextuelle.Pour ceux qui utilisent MySQL Workbench, un bouton "Options avancées" est disponible sur l'écran d'exportation des données. L'option "Utiliser les statistiques de colonne" peut être désactivée en réglant sur 0.
Je n'ai pas confirmé, mais il a été suggéré que les informations suivantes soient également vraies: Dans la version 8.0.14, il est manquant. Dans la version 8.0.16, cela est fait par défaut.
la source
--column-statistics=0
la commande dans la commande d'exportation.J'ai passé toute la journée à chercher une solution et j'ai chanté ici juste pour partager la mienne.
Oui, cette erreur est probablement due à la différence de version.
Il suffit de télécharger l' archive ZIP MySQL 5.7 à partir d'ici: https://dev.mysql.com/downloads/mysql/ et de la décompresser, puis d'utiliser le fichier mysqldump.exe à partir de cet emplacement.
Si vous utilisez MySQL Workbench, vous devrez définir un chemin d'accès à l'outil mysqldump que vous avez téléchargé en sélectionnant Edition -> Préférences -> Administration (dans le volet de gauche).
J'espère que cela t'aides.
la source
C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump.exe
Pour faciliter cette réponse , vous pouvez renommer
mysqldump
, créer un script shell à sa place et appeler le renommémysqldump
avec l’--column-statistics=0
argument. Par exemple:Renommez mysqldump:
Enregistrez le script de shell suivant à sa place:
la source
Plus facile travail autour
Lorsque vous utilisez Mysql Workbench 8.0
Bonne chance!
la source
Pour macOS, vous avez besoin de l'ancienne version (8.0.13) pour afficher les "statistiques de colonne", car je teste les versions 8.0.14 et 8.0.15 et les deux n'affichent pas les "statistiques de colonne".
Donc, pour ajuster les "statistiques de colonne", utilisez la version 8.0.13 https://downloads.mysql.com/archives/get/file/mysql-workbench-community-8.0.13-macos-x86_64.dmg
la source
Dans ma situation, j'utilise mac-OS. À propos, il y avait des
[mysqldump] column-statistics=0
champs dans lemy.cnf
fichier qui est placé sous le/usr/local/etc
répertoire. La suppression de ce champ a résolu le problème. (pas: la version de mysql est 5.7 et installée via homebrew).la source
J'ai également eu le même problème, il se produit lorsque je fusionne plusieurs tables de données dans le schéma existant à partir d'un autre schéma et que j'exporte les données fusionnées dans un fichier de script autonome. J'ai essayé de changer la colonne-statistiques = 0, mais le résultat suivait,
Donc je n'ai pas aidé. J'analyse le journal MySQL que j'ai trouvé
il se plaint de la taille de innodb_buffer_pool_size. Je l'ai fait à 24MB. Alors ça marche.
la source
J'utilise XAMPP et MySQL Workbench met en garde contre une incompatibilité de version. Je règle MySQL Workbench pour qu'il pointe vers les fichiers mysql.exe et mysqldump.exe de XAMPP.
Allez dans Edition -> Préférences -> Administration et définissez le chemin pour chacun.
Cela fonctionne au moins pour la version 8.0.14. Donc, pour d’autres, évitez d’utiliser la version fournie de mysql et mysqldump.
la source