Назад | Перейти на главную страницу

Зарегистрируйте ошибку и предупреждение при восстановлении дампа sql на MySql

Как записать ошибку и предупреждение при восстановлении дампа 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;

Обратите внимание на описание в документы

Все данные, отображаемые на экране, добавляются в данный файл. [..] Функциональность тройника работает только в интерактивном режиме.