您的位置:首页 > 职场人生

重复执行show innodb status的方法

2010-09-21 16:07 302 查看
比如需要观察show innodb status、innodb_tablespace_monitor、innodb_lock_monitor、innodb_table_monitor这些命令在某个时间段的信息,如果要手动重复执行很麻烦,而innodb引擎在设计的时候就已经考虑到了,不过不够灵活,方法如下:

在数据库中创建相应引擎为innodb的表,创建相应的表之后,每15秒输出一次相应的信息到mysql error log中,不需要此功能的时候,删除相应的表即可,语句如下:

mysql> create table innodb_monitor(a int) engine=innodb;

Query OK, 0 rows affected (0.00 sec)

mysql> create table innodb_tablespace_monitor (a int) engine=innodb;

Query OK, 0 rows affected (0.01 sec)

mysql> create table innodb_lock_monitor (a int) engine=innodb;

Query OK, 0 rows affected (0.01 sec)

mysql> create table innodb_table_monitor (a int) engine=innodb;

Query OK, 0 rows affected (0.01 sec)

其实在Linux中,利用watch命令更加灵活地实现上面的需求,例如:每30秒输出一次show innodb status的结果,并把结果保存在一个文件中,语句如下:

[root@youxia205 tmp]# watch -n 30 'mysql -uroot -padmin -e "show innodb status\G" >> www.log';

关于watch命令的详细用法,可以查询man手册。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息