To redirect MySQL errors and warnings to a log file, restore the SQL dump from bash not from a MySQL prompt.
mysql -u root -p db_name < dumpfilename.sql > /var/tmp/mysqldump.log 2>&1
If you need to supresss foreign key checks, create a shell script named mysql-import.sh and put the following contents in it:
#!/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
Then chmod +x mysql-import.sh to make the script executable and run the script as,
./mysql-import.sh > /var/log/mysqldump.log 2>&1
This script will run the code that you were running in MySQL, but with the ability to redirect output to a log file, since it can be invoked from the shell.
To redirect MySQL errors and warnings to a log file, restore the SQL dump from bash not from a MySQL prompt.
If you need to supresss foreign key checks, create a shell script named
mysql-import.sh
and put the following contents in it:Then
chmod +x mysql-import.sh
to make the script executable and run the script as,./mysql-import.sh > /var/log/mysqldump.log 2>&1
This script will run the code that you were running in MySQL, but with the ability to redirect output to a log file, since it can be invoked from the shell.
The mysql client offers a useful
--tee <tofile>
option. Either enable it at startup, or interactively in the prompt.Note the description in the docs