Como mostro avisos ao carregar dados criados a partir do mysqldump?

9

Eu tenho um arquivo .sql grande com inserção grande em ... valores ... instruções. Muitas dessas instruções estão gerando avisos durante a execução. Como posso obter o mysql para imprimir os avisos?

Se ele pressionar control-C, a importação será interrompida e eu retornarei à linha de comando do SO.

Aqui está um exemplo de saída da execução do 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
fonte

Respostas:

10

Você deve iniciar o mysqld com avisos de log (deve estar ativado por padrão) e também a contagem máxima de erros

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

Você pode ter que iniciar o cliente mysql com

SET SQL_WARNINGS = 1;

Esta não é uma configuração do mysqld, é uma configuração de sessão do cliente mysql.

Você pode querer adicionar show-warnings à sessão do cliente mysql

mysql -u... -p -hlocalhost --show-warnings
RolandoMySQLDBA
fonte
Essa opção não imprime esses avisos no log de erros do servidor.
tmcallaghan
A primeira sugestão deve colocar avisos no log de erros.
RolandoMySQLDBA
adicionar --show-warnings ao cliente mysql funcionou como um encanto, obrigado.
tmcallaghan
1

Com o cliente mysql você também pode:

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

em seguida, visualize o arquivo import.log criado no diretório atual.

tinram
fonte