mysql source命令如何把日志记录到文件里面

第一种方法:
执行前在mysql shell里面运行
tee  output . log
之后你运行任何命令输出都会打在里面。output.log就是你要的文件,名字随便,路径随便


第二种方法:

可以使用expect,比如我常用这样的一个 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


linux技术交流群:295294329



版权声明:本文为yang131631原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。