Come posso mostrare gli avvisi durante il caricamento dei dati creati da mysqldump?


9

Ho un grande file .sql con un grande inserimento in ... valori ... dichiarazioni. Molte di queste dichiarazioni generano avvisi durante l'esecuzione. Come posso ottenere mysql per stampare gli avvisi?

Se ha colpito control-C, l'importazione si interrompe e vengo riportato alla riga di comando del sistema operativo.

Ecco un esempio di output dall'esecuzione di 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

Risposte:


10

È necessario avviare mysqld con gli avvisi del registro (dovrebbe essere attivo per impostazione predefinita) e anche il conteggio massimo degli errori

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

Potrebbe essere necessario avviare il client mysql con

SET SQL_WARNINGS = 1;

Questa non è un'impostazione mysqld, è un'impostazione della sessione client mysql.

Potresti voler aggiungere show-warning alla sessione client mysql

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

Tale opzione non stampa questi avvisi nel registro degli errori del server.
tmcallaghan,

Il primo suggerimento dovrebbe inserire avvisi nel registro degli errori.
RolandoMySQLDBA

l'aggiunta di --show-warning al client mysql ha funzionato come un incantesimo, grazie.
tmcallaghan,

1

Con il client mysql puoi anche fare:

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

quindi visualizzare il file import.log creato nella directory corrente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.