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
tmcallaghan
la source

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
RolandoMySQLDBA
la source
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.

tinram
la source