mysql tee_MySQL 使用tee记录语句和输出日志

在mysql命令行中,使用tee命令,可以记录语句和输出到指定文件。在debugging时会很有用。

每执行一条语句,mysql都会讲执行结果刷新到指定文件。Tee功能只在交互模式生效。

mysql> tee /tmp/20160908.log

Logging to file '/tmp/20160908.log'

mysql> show databases;

ERROR 2006 (HY000): MySQL server has gone away

No connection. Trying to reconnect...

Connection id:    4

Current database: test

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| test               |

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

4 rows in set (0.01 sec)

mysql> use test

Database changed

mysql> show tables;

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

| Tables_in_test     |

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

| ADDSubscribers     |

| Subscribers        |

| dept               |

| emp                |

| t10                |

| t2                 |

| t5                 |

| t50                |

| t7                 |

| test               |

| tmp_Subscribers_01 |

| tmp_Subscribers_02 |

| tmp_Subscribers_03 |

| version            |

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

14 rows in set (0.00 sec)

mysql> select * from emp;

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

| empno | ename  | job       | mgr  | hiredate            | sal  | com  | deptno |

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

|  7369 | SMITH  | CLERK     | 7902 | 1980-12-17 00:00:00 |  800 | NULL |     20 |

|  7499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 00:00:00 | 1600 |  300 |     30 |

|  7521 | WARD   | SALESMAN  | 7698 | 1981-02-22 00:00:00 | 1250 |  500 |     30 |

|  7566 | JONES  | MANAGER   | 7839 | 1981-04-02 00:00:00 | 2975 | NULL |     20 |

|  7654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 00:00:00 | 1250 | 1400 |     30 |

|  7698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 00:00:00 | 2850 | NULL |     30 |

|  7782 | CLARK  | MANAGER   | 7839 | 1981-06-09 00:00:00 | 2450 | NULL |     10 |

|  7788 | SCOTT  | ANALYST   | 7566 | 1987-07-13 00:00:00 | 3000 | NULL |     20 |

|  7839 | KING   | PRESIDENT | NULL | 1981-11-17 00:00:00 | 5000 | NULL |     10 |

|  7844 | TURNER | SALESMAN  | 7698 | 1981-09-08 00:00:00 | 1500 |    0 |     30 |

|  7876 | ADAMS  | CLERK     | 7788 | 1987-07-13 00:00:00 | 1100 | NULL |     20 |

|  7900 | JAMES  | CLERK     | 7698 | 1981-12-03 00:00:00 |  950 | NULL |     30 |

|  7902 | FORD   | ANALYST   | 7566 | 1981-12-03 00:00:00 | 3000 | NULL |     20 |

|  7934 | MILLER | CLERK     | 7782 | 1982-01-23 00:00:00 | 1300 | NULL |     10 |

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

14 rows in set (0.03 sec)

使用notee命令来关闭日志记录

mysql> notee

Outfile disabled.

查看生成的日志

[root@localhost fire]# cat /tmp/20160908.log

mysql> show databases;

ERROR 2006 (HY000): MySQL server has gone away

No connection. Trying to reconnect...

Connection id:    4

Current database: test

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| test               |

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

4 rows in set (0.01 sec)

mysql> use test

Database changed

mysql> show tables;

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

| Tables_in_test     |

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

| ADDSubscribers     |

| Subscribers        |

| dept               |

| emp                |

| t10                |

| t2                 |

| t5                 |

| t50                |

| t7                 |

| test               |

| tmp_Subscribers_01 |

| tmp_Subscribers_02 |

| tmp_Subscribers_03 |

| version            |

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

14 rows in set (0.00 sec)

mysql> select * from emp;

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

| empno | ename  | job       | mgr  | hiredate            | sal  | com  | deptno |

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

|  7369 | SMITH  | CLERK     | 7902 | 1980-12-17 00:00:00 |  800 | NULL |     20 |

|  7499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 00:00:00 | 1600 |  300 |     30 |

|  7521 | WARD   | SALESMAN  | 7698 | 1981-02-22 00:00:00 | 1250 |  500 |     30 |

|  7566 | JONES  | MANAGER   | 7839 | 1981-04-02 00:00:00 | 2975 | NULL |     20 |

|  7654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 00:00:00 | 1250 | 1400 |     30 |

|  7698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 00:00:00 | 2850 | NULL |     30 |

|  7782 | CLARK  | MANAGER   | 7839 | 1981-06-09 00:00:00 | 2450 | NULL |     10 |

|  7788 | SCOTT  | ANALYST   | 7566 | 1987-07-13 00:00:00 | 3000 | NULL |     20 |

|  7839 | KING   | PRESIDENT | NULL | 1981-11-17 00:00:00 | 5000 | NULL |     10 |

|  7844 | TURNER | SALESMAN  | 7698 | 1981-09-08 00:00:00 | 1500 |    0 |     30 |

|  7876 | ADAMS  | CLERK     | 7788 | 1987-07-13 00:00:00 | 1100 | NULL |     20 |

|  7900 | JAMES  | CLERK     | 7698 | 1981-12-03 00:00:00 |  950 | NULL |     30 |

|  7902 | FORD   | ANALYST   | 7566 | 1981-12-03 00:00:00 | 3000 | NULL |     20 |

|  7934 | MILLER | CLERK     | 7782 | 1982-01-23 00:00:00 | 1300 | NULL |     10 |

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

14 rows in set (0.03 sec)

mysql> notee

当调用mysql时,使用--tee参数,可以记录这个登录会话的全部日志。

[root@localhost ~]# mysql -uroot -p --tee=/tmp/20160908_02.log

Logging to file '/tmp/20160908_02.log'

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 5

Server version: 5.6.31-77.0-log Percona Server (GPL), Release 77.0, Revision 5c1061c

Copyright (c) 2009-2016 Percona LLC and/or its affiliates

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use test

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> select * from test;

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

| id   | name  |

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

|   10 | neo   |

|   20 | John  |

|   30 | Lucy  |

|   40 | Larry |

|   50 | Lilly |

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

5 rows in set (0.04 sec)查看生成的日志

[root@localhost fire]# cat /tmp/20160908_02.log

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 5

Server version: 5.6.31-77.0-log Percona Server (GPL), Release 77.0, Revision 5c1061c

Copyright (c) 2009-2016 Percona LLC and/or its affiliates

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use test

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> select * from test;

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

| id   | name  |

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

|   10 | neo   |

|   20 | John  |

|   30 | Lucy  |

|   40 | Larry |

|   50 | Lilly |

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

5 rows in set (0.04 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值