启用InnoDB标准监控输出

InnoDB监控有两种类型:一种是标准InnoDB监控(standard InnoDB Monitor)和 InnoDB 锁监控(InnoDB Lock Monitor),锁监控会作为标准监控的一部分打印出来。

启用InnoDB 监控

当InnoDB监控启用后,InnoDB会每隔15秒写入监控日志到mysql 标准错误日志文件中(mysqld server standard error output).

在Windows系统上,stderr 文件是指向默认日志文件除非另外配置了。如果你想将输出从定向到 console window 而不是错误日志中,启动mysql的时候加上 --console选项。

InnoDB监控应该在你确实需要查看监控信息时才启用,因为它通常会带来一些性能问题。另外如果监控日志一直打开输出到文件中会导致文件变得很大。

InnoDB监控输出以一个包含时间戳和监控名称的头开始。比如:

=====================================
2019-07-05 12:37:29 0x7fc2a95c1700 INNODB MONITOR OUTPUT
=====================================

InnoDB锁监控的开始同上面一样

innodb_status_output 和 innodb_status_output_locks 这两个系统变量是用来启用标准innodb监控和 InnoDB锁监控的。

启用或者禁用 InnoDB监控 需要Process 权限。

启用标准InnoDB监控可以通过设置 innodb_status_output = ON来开启

SET GLOBAL innodb_status_output=ON;

禁用标准InnoDB监控 set innodb_status_output = OFF.

当重启MySQL服务的时候,innodb_status_output 会被设置为 OFF。

InnoDB锁监控是随着InnoDB标准监控输入一起打印的,因此要启用InnoDB锁监控需要一并开启InnoDB标准监控。

SET GLOBAL innodb_status_output=ON;
SET GLOBAL innodb_status_output_locks=ON;

禁用InnoDB锁监控设置 innodb_status_output_locks = OFF, 设置innodb_status_output = OFF 也会同时禁用InnoDB锁监控

跟InnoDB标准监控一样,重启MySQL服务后InnoDB锁监控也会自动设置为OFF。如果通过 SHOW ENGINE INNODB STATUS 命令来查看监控输出,则只需要设置 innodb_status_output_locks=ON 就能启用InnoDB锁监控

在需要的时候获得InnoDB标准监控输出

作为周期输出监控的替代方案,你可以通过 SHOW ENGINE INNODB STATUS 这一SQL语句来获得InnoDB的标准监控输出当你需要的时候。这个语句的输出也包括了InnoDB锁监控当锁监控被启用的时候。

InnoDB标准监控输出也可以重定向到一个状态文件中,在启动的时候通过 --innodb-status-file选项来指定。当使用这个选项,InnoDB启动的时候会创建名称为 innodb_status.pid的文件在数据目录中,并且每隔15秒输出监控信息到文件中。

当MySQL正常停机的时候会删除这个状态文件,如果发生非正常的停机,这个文件需要手工删除。

这个 --innodb-status-file 选项一般只临时使用,InnoDB标准监控输出会影响性能,并且这个 innodb_status.pid文件会随着时间的推移变得很大。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值