MYSQL tee的功能测试
2012-10-11 09:47
246 查看
Mysql的tee功能是用来记录用户的操作记录的,由于对mysql进行大量的更改操作,比如删除,修改,添加等动作等等,涉及到生产环境中时候,这些操作有时候很有必要把整个操作记录下来,以便核对查找。Tee功能类似于oracle中的spool,下面对几种tee的不同保方式测试:
一、直接指定文件
出于这种是由于之前使用spool的时候每次spool时候都会使用spool '文件路径',结束后便用spool off即可。下面是测试截图:
初看结果,好像是正确指定了文件和路径,那么我们去这个路径是否看到这个tee.log呢,进入mysql用户根目录下的tmp目录查看,已经生成了tee.log文件,然后运行一些简单操作测试是否记录成功;
查看tee.log文件;发现都是实时记录了所有的操作记录和结果。跟oracle有点不同的是,oracle每次都是在spool off之后才生成(应该没有记错)。关闭即用notee或者\t命令。
二、通过启动带参数--tee
启动使用命令:mysql -uroot -p --tee=/home/mysql/tmp/ceshi.log -S /usr/local/mysql/tmp/3306/mysql.sock登录成功后,按正常同样再测试一次操作记录
查看ceshi.log,所有记录均实时记载。
三、通过更改设置配置文件my.cnf
测试环境,先kill掉mysqld服务(生产环境一般没有在my.cnf中增加该配置,这里仅仅只是用来测试)。
关闭mysql,然后修改mysql的配置文件中的[client]选项段,添加以下内容:
[client]
port = 3306
socket = /usr/local/mysql/tmp/3306/mysql.sock
default-character-set = utf8
tee = /home/mysql/tmp/result.log
再次启动mysql,查看/home/mysql/tmp/下是否生成了result.log文件,一看没有,奇怪了,按理说这样的方式是正确的,在网上找了下大部分都讲到了这三点,也没有见谁说这种方式不行。会不会是版本有问题,我本机装的是32位的mysql 5.1.57版本。于是换台机器,换个64位的mysql 5.1.50版本测试下;
一样的配置一样重新启动了mysql。测试后发现还是没有出现结果记录;
原来写入mysql配置文件中,在不同版本中有差异,目前有一些有些版本的mysql数据库的tee功能在写入配置文件的时候不生效,但是支持终端下命令行直接操作,例如上面2个版本都是没有效果的,所以写入配置文件中并不保险。目前还不清楚原因何在,猜测也有可能是某些版本存在bug ,希望知道的不吝赐教。
一、直接指定文件
出于这种是由于之前使用spool的时候每次spool时候都会使用spool '文件路径',结束后便用spool off即可。下面是测试截图:
初看结果,好像是正确指定了文件和路径,那么我们去这个路径是否看到这个tee.log呢,进入mysql用户根目录下的tmp目录查看,已经生成了tee.log文件,然后运行一些简单操作测试是否记录成功;
查看tee.log文件;发现都是实时记录了所有的操作记录和结果。跟oracle有点不同的是,oracle每次都是在spool off之后才生成(应该没有记错)。关闭即用notee或者\t命令。
二、通过启动带参数--tee
启动使用命令:mysql -uroot -p --tee=/home/mysql/tmp/ceshi.log -S /usr/local/mysql/tmp/3306/mysql.sock登录成功后,按正常同样再测试一次操作记录
查看ceshi.log,所有记录均实时记载。
三、通过更改设置配置文件my.cnf
测试环境,先kill掉mysqld服务(生产环境一般没有在my.cnf中增加该配置,这里仅仅只是用来测试)。
关闭mysql,然后修改mysql的配置文件中的[client]选项段,添加以下内容:
[client]
port = 3306
socket = /usr/local/mysql/tmp/3306/mysql.sock
default-character-set = utf8
tee = /home/mysql/tmp/result.log
再次启动mysql,查看/home/mysql/tmp/下是否生成了result.log文件,一看没有,奇怪了,按理说这样的方式是正确的,在网上找了下大部分都讲到了这三点,也没有见谁说这种方式不行。会不会是版本有问题,我本机装的是32位的mysql 5.1.57版本。于是换台机器,换个64位的mysql 5.1.50版本测试下;
一样的配置一样重新启动了mysql。测试后发现还是没有出现结果记录;
原来写入mysql配置文件中,在不同版本中有差异,目前有一些有些版本的mysql数据库的tee功能在写入配置文件的时候不生效,但是支持终端下命令行直接操作,例如上面2个版本都是没有效果的,所以写入配置文件中并不保险。目前还不清楚原因何在,猜测也有可能是某些版本存在bug ,希望知道的不吝赐教。
相关文章推荐
- MYSQL tee的功能测试
- 关于MySQL Proxy Users的功能测试报告
- 基于httpclient和mysql的接口功能自动化测试框架
- MySQL 官方 Auto-Failover 功能测试
- 各位mysql大佬,有空帮我测试tcpcopy mysql功能吧
- 今天测试了一下MYSQL的功能
- 测试mysql绑定变量功能 推荐
- mysql中使用tee实现类似oracle spool功能
- 详解mysql的tee功能 并利用其记录相关操作
- Amoeba For MySQL_测试Amoeba的数据切分功能_CentOS6.5下进行
- [原创] 简单测试MySQL 5.1 表分区功能
- 简单测试MySQL 5.1 表分区功能
- mysql主从备份功能配置与测试
- 测试mysql语句
- 测试一下评论功能
- drbd+mysql+keepalived实现高可用测试
- 设计功能和界面测试用例
- MySQL主从(介绍,配置主机,配置从机,测试主从同步)
- Ajax与mysql数据交互制作留言板功能(全)
- 使用sqlite3的接口函数完成一个用户登录验证功能模块设计 要封装成独立函数,在独立的main中调用测试;