Comment afficher des avertissements lors du chargement de données créées à partir de mysqldump?


9

J'ai un grand fichier .sql avec une grande insertion dans ... des valeurs ... des instructions. Beaucoup de ces instructions génèrent des avertissements lors de l'exécution. Comment puis-je demander à mysql d'imprimer les avertissements?

S'il a frappé control-C, l'importation s'arrête et je reviens à la ligne de commande du système d'exploitation.

Voici un exemple de sortie de l'exécution du SQL:

Query OK, 9827 rows affected, 5403 warnings (0.20 sec)
Records: 9827  Duplicates: 0  Warnings: 5403

Query OK, 9859 rows affected, 5247 warnings (0.20 sec)
Records: 9859  Duplicates: 0  Warnings: 5247

Réponses:


10

Vous devez démarrer mysqld avec des avertissements de journal (il devrait être activé par défaut) et également le nombre maximal d'erreurs

[mysqld]
log-warnings
max-error-count=9999999999

Vous devrez peut-être démarrer le client mysql avec

SET SQL_WARNINGS = 1;

Ce n'est pas un paramètre mysqld, c'est un paramètre de session client mysql.

Vous voudrez peut-être ajouter des avertissements à la session client mysql

mysql -u... -p -hlocalhost --show-warnings

Cette option n'imprime pas ces avertissements dans le journal des erreurs du serveur.
tmcallaghan

La première suggestion devrait mettre des avertissements dans le journal des erreurs.
RolandoMySQLDBA

ajouter --show-warnings au client mysql a fonctionné comme un charme, merci.
tmcallaghan

1

Avec le client mysql, vous pouvez également faire:

mysql> tee import.log
mysql> source .\test.sql

puis visualisez le fichier import.log créé dans le répertoire courant.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.