mysql source输出日志_mysql开启命令行日志(可以记录source等的日志)

我们有的时候使用mysql的client登录命令行执行一些sql,在操作的过程中希望记录这些内容,该如何操作呢?比如我们使用source一个sql文件的时候,我想看看source过程中是否出现问题。如果sql文件很庞大,那么错误日志很快就从屏幕消失了,来不及查看。怎么操作呢?

这个时候我们可以使用mysql命令行中的tee命令打开一个log的文件,后续所有的同一个session操作都会记录到这个文件中。

如:

mysql> tee hello.log

mysql>select now() ;

mysql>exit;  //退出mysql 客户端

查看 hello.log 文件内容如下:

mysql> select now();

+---------------------+

| now() |

+---------------------+

| 2018-03-07 10:55:58 |

+---------------------+

1 row in set (0.00 sec)

mysql> exit

可以为 tee 的日志文件指定目录,如:

mysql> tee ~/hello.log

So if you want to redirect output of MySQLsourcecommand into a log file, then you need to use ‘tee‘. Here’s how it works.

Step 1: Login to MySQL

Step 2: In the MySQL command prompt, type the below command.

mysql> tee log.out

Logging to file 'log.out'

mysql>

You should see a message “Logging to file” displayed on the screen.

Step 3: Now, source the SQL file

mysql> source sample.sql

Step 4: The output of source command would have been logged into a file log.out.

Step 5: View the log.out

$ more log.out

That’s it!

Why would you (or Mr. Waseem) wants to log the output of source SQL? For example, the SQL file that you would like to import might come with long list of tables & records and while sourcing it, there are chances few of the records might not get imported. Now what if you want to know which of those records failed during import? The log file will help you to find that.

Note: 'tee' command can be used before executing any MySQL statement. The output of any query after logging the session will be stored in the specified file.

For example:

mysql> tee showdboutput.out

Logging to file 'showdboutput.out'

mysql> show databases;

The output of the above query will be stored in showdboutput.out file.

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值