mysql source命令如何把日志记录到文件里面
在msyql数据库备份过程中,使用source命令,日志都打印在界面上了,如何让它输入到一个文件里面?
认证0级讲师
執行前在mysql shell裡面運行
tee output.log
之後你執行任何指令輸出都會打在裡面。 output.log就是你要的文件,名字隨便,路徑隨便
可以使用expect,像是我常用這樣的一個import.sh腳本:
import.sh
#!/usr/bin/env expect if {$argc<2} { send_user "Usage: $argv0 sql_file database" exit } set sql_file [lindex $argv 0] set database [lindex $argv 1] spawn mysql -u root -p expect "password:" send "你的密码\r" expect "mysql>" send "create database $database CHARACTER SET utf8 COLLATE utf8_general_ci;\r" expect "mysql>" send "use $database;\r" expect "mysql>" send "source $sql_file;\r" expect "mysql>" send "show tables;\r" expect "mysql>" send "quit;\r" expect eof
然後,匯入一個資料庫並且記錄日誌就這樣就行了:
import.sh path/to/sqlfile.sql some_database >> import.log
執行前在mysql shell裡面運行
之後你執行任何指令輸出都會打在裡面。 output.log就是你要的文件,名字隨便,路徑隨便
可以使用expect,像是我常用這樣的一個
import.sh
腳本:然後,匯入一個資料庫並且記錄日誌就這樣就行了: