mysql source命令如何把日志记录到文件里面
问题描述
mysql source命令如何把日志记录到文件里面
在msyql数据库备份过程中,使用source命令,日志都打印在界面上了,如何让它输入到一个文件里面?
问题解答
回答1:执行前在mysql shell里面运行
tee output.log
之后你运行任何命令输出都会打在里面。output.log就是你要的文件,名字随便,路径随便
回答2:可以使用expect,比如我常用这样的一个import.sh脚本:
#!/usr/bin/env expectif {$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 -pexpect '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
相关文章:
1. android - 为 AppBarLayout 设置的背景图片 TransitionDrawable 为什么只在第一次打开的时候有效?2. java - 请教一个IO的问题3. nginx - 关于javaweb项目瘦身问题,前期开发后,发现项目占用存贮空间太大,差不多1.2个G,怎么实现瘦身,动态页面主要是jsp。4. angular.js - angular内容过长展开收起效果5. node.js - 问个问题 Uncaught (in promise)6. node.js - 安装puer前端服务器不成功7. java - 一个泛型标签问题8. jquery - 移动端如何写弹性效果9. mysql在限制条件下筛选某列数据相同的值10. 在cmd下进入mysql数据库,可以输入中文,但是查看表信息,不显示中文,是怎么回事,怎新手,请老师

网公网安备