¿Cómo muestro advertencias al cargar datos creados desde mysqldump?


9

Tengo un gran archivo .sql con una inserción grande en ... valores ... declaraciones. Muchas de estas declaraciones generan advertencias durante la ejecución. ¿Cómo puedo obtener mysql para imprimir las advertencias?

Si toca control-C, la importación se detiene y vuelvo a la línea de comando del sistema operativo.

Aquí hay una salida de muestra al ejecutar el 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

Respuestas:


10

Debe iniciar mysqld con advertencias de registro (debe estar activado de forma predeterminada) y también el recuento máximo de errores

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

Puede que tenga que iniciar el cliente mysql con

SET SQL_WARNINGS = 1;

Esta no es la configuración de mysqld, es una configuración de sesión de cliente mysql.

Es posible que desee agregar advertencias de show a la sesión del cliente mysql

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

Esa opción no imprime estas advertencias en el registro de errores del servidor.
tmcallaghan

La primera sugerencia debe poner advertencias en el registro de errores.
RolandoMySQLDBA

agregar --show-warnings al cliente mysql funcionó de maravilla, gracias.
tmcallaghan

1

Con el cliente mysql también puedes hacer:

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

luego vea el archivo import.log creado en el directorio actual.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.