Как записать ошибку и предупреждение при восстановлении дампа sql на MySql? Ниже приведены шаги, которые мы делаем.
mysql> CREATE DATABASE dbname;
mysql> ИСПОЛЬЗОВАТЬ dbname;
mysql> ИСТОЧНИК dbdumpname.sql
Чтобы перенаправить ошибки и предупреждения MySQL в файл журнала, восстанавливайте дамп SQL из bash, а не из приглашения MySQL.
mysql -u root -p db_name < dumpfilename.sql > /var/tmp/mysqldump.log 2>&1
Если вам нужно подавить проверки внешнего ключа, создайте сценарий оболочки с именем mysql-import.sh
и поместите в него следующее содержимое:
#!/bin/bash
mysql -u root -p'password' -h hostname db_name << EOF
CREATE DATABASE dbname;
USE dbname;
SET foreign_key_checks=0;
SOURCE dbdumpname.sql;
EOF
затем chmod +x mysql-import.sh
чтобы сделать скрипт исполняемым и запустить скрипт как,
./mysql-import.sh > /var/log/mysqldump.log 2>&1
Этот сценарий будет запускать код, который вы запускали в MySQL, но с возможностью перенаправления вывода в файл журнала, поскольку он может быть вызван из оболочки.
Клиент mysql предлагает полезный --tee <tofile>
вариант. Либо включите его при запуске, либо в интерактивном режиме в командной строке.
mysql> tee file.log
Logging to file 'file.log'
mysql> \W
Show warnings enabled.
mysql> use database;
mysql> source dump.sql;
Обратите внимание на описание в документы
Все данные, отображаемые на экране, добавляются в данный файл. [..] Функциональность тройника работает только в интерактивном режиме.