Как показать предупреждения при загрузке данных, созданных из mysqldump?


9

У меня есть большой файл .sql с большой вставкой в ​​... значения ... заявления. Многие из этих операторов генерируют предупреждения во время выполнения. Как я могу получить mysql для печати предупреждений?

Если он нажимает control-C, то импорт останавливается, и я возвращаюсь к командной строке ОС.

Вот пример выходных данных от запуска 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

Ответы:


10

Вы должны запустить mysqld с лог-предупреждениями (он должен быть включен по умолчанию), а также с максимальным количеством ошибок

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

Возможно, вам придется запустить клиент MySQL с

SET SQL_WARNINGS = 1;

Это не настройка mysqld, это настройка сеанса клиента mysql.

Вы можете добавить show-warnings к сеансу клиента mysql

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

Эта опция не выводит эти предупреждения в журнал ошибок сервера.
tmcallaghan

Первое предложение должно поместить предупреждения в журнал ошибок.
RolandoMySQLDBA

добавление --show-warnings к клиенту mysql работает как чудо, спасибо.
tmcallaghan

1

С клиентом mysql вы также можете сделать:

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

затем просмотрите файл import.log, созданный в текущем каталоге.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.