Odpowiedzi:
Aby przekierować błędy i ostrzeżenia MySQL do pliku dziennika, przywróć zrzut SQL z bash, a nie z monitu MySQL.
mysql -u root -p db_name < dumpfilename.sql > /var/tmp/mysqldump.log 2>&1
Jeśli chcesz wyłączyć sprawdzanie klucza obcego, utwórz skrypt powłoki o nazwie mysql-import.sh
i umieść w nim następującą zawartość:
#!/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
Następnie, chmod +x mysql-import.sh
aby skrypt był wykonywalny i uruchom go jako:
./mysql-import.sh > /var/log/mysqldump.log 2>&1
Ten skrypt uruchomi kod, który był uruchomiony w MySQL, ale z możliwością przekierowania danych wyjściowych do pliku dziennika, ponieważ można go wywołać z powłoki.
Klient mysql oferuje przydatną --tee <tofile>
opcję. Włącz ją przy uruchamianiu lub interaktywnie w wierszu polecenia.
mysql> tee file.log
Logging to file 'file.log'
mysql> \W
Show warnings enabled.
mysql> use database;
mysql> source dump.sql;
Zwróć uwagę na opis w dokumentach
Wszystkie dane wyświetlane na ekranie są dołączane do danego pliku. [..] Funkcja tee działa tylko w trybie interaktywnym.