我们有的时候使用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 MySQ
我们有的时候使用mysql的client登录命令行执行一些sql,在操作的过程中希望记录这些内容,该如何操作呢?比如我们使用source一个sql文件的时候,我想看看source过程中是否出现问题。如果sql文件很庞大,那么错误日志很快就从屏幕消失了,来不及查看。怎么操作呢?这个时候我们可以使用mysql命令行中的tee命令打开一个log的文件,后续所有的同一个session操作都会记录到这个文件...
MySQL
的
日志
默认保存位置为:/usr/local/
mysql
/data下
配置文件位于:/etc/my.cnf文件中的[
mysql
d]内慢查询
日志
也可用来查询哪些搜索的字段超时,可以选择是否需要增加索引,加快查询速度修改配置文件
vim /etc/my.conf
修改my.cnf配置文件,在[
mysql
d]中添加如下内容
登入
MySQL
数据库,查询
日志
是否
开启
查询通用
日志
是否
开启
show variables like ‘general%’;
查询二进制
日志
是否
开启
show vari
工作上,写了一个长达5000行的sql脚本进行建大量表的操作。现想验证sql的执行是否正常。如果直接在sql终端运行这5000行的脚本,那么执行情况包括报错就都看不到了。
二、解决方法
在
mysql
中有命令tee,将执行结果定向
输出
到指定文件中,文件不存在则自动新建,文件存在则追加内容。命令tee和notee成对存在。
在oracle中有类似的命令是spool和spool off。
三、应用示例
tee /utplat/user/wz/
mysql
.txt
select user,host from