启用InnoDB监视器
当InnoDB
监视器用于周期性输出使能,InnoDB
将输出写入的mysqld服务器标准错误输出(stderr
)每15秒,约。
InnoDB
将监视器输出发送到内存缓冲区,stderr
而不是stdout
固定大小的缓冲区,以免潜在的缓冲区溢出。
在Windows上,stderr
除非另行配置,否则将定向到默认日志文件。如果要将输出定向到控制台窗口而不是错误日志,请从控制台窗口中带有--console
选项的命令提示符启动服务器。有关更多信息,请参见 Windows上的默认错误日志目标。
在Unix和类似Unix的系统上,stderr
除非另行配置,否则通常直接指向终端。有关更多信息,请参见 Unix和类似Unix的系统上的默认错误日志目标。
InnoDB
仅在您实际希望参见监视器信息时才应启用监视器,因为输出生成会导致性能降低。另外,如果监视器输出定向到错误日志,则如果您以后忘记禁用监视器,则日志可能会变得很大。
注意为了协助进行故障排除,请在某些情况下
InnoDB
临时启用标准InnoDB
Monitor输出。有关更多信息,请参见“ InnoDB故障排除”。
InnoDB
监视器输出以包含时间戳和监视器名称的标头开头。例如:
===================================== 2014-10-16 18:37:29 0x7fc2a95c1700 INNODB MONITOR OUTPUT =====================================
标准InnoDB
监视器(INNODB MONITOR OUTPUT
)的标头也用于锁定监视器,因为锁定监视器在添加额外的锁定信息的情况下会产生相同的输出。
该innodb_status_output
和innodb_status_output_locks
系统变量用于启用标准的InnoDB
监控和InnoDB
锁定监控。
该PROCESS
权限才能启用或禁用InnoDB
监视器。
启用标准InnoDB监视器
InnoDB
通过将innodb_status_output
系统变量设置为来启用标准Monitor ON
。
SET GLOBAL innodb_status_output=ON ;
要禁用标准InnoDB
监视器,请设置innodb_status_output
为OFF
。
关闭服务器时,该innodb_status_output
变量将设置为默认OFF
值。
启用InnoDB锁定监视器
InnoDB
锁定监视器数据与InnoDB
标准监视器输出一起打印。无论是InnoDB
标准监视器和InnoDB
锁显示器必须能够具有InnoDB
锁定监控数据定期打印。
要启用InnoDB
锁定监视器,请将innodb_status_output_locks
系统变量设置为ON
。无论是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_status_output
和innodb_status_output_locks
变量将设置为默认OFF
值。
注意要启用
InnoDB
锁定监视器的SHOW ENGINE INNODB STATUS
输出,只需启用innodb_status_output_locks
。
获得标准的InnoDB监视器按需输出
作为启用标准InnoDB
Monitor定期输出的替代方法,您可以InnoDB
使用SHOW ENGINE INNODB STATUS
SQL语句按需获取标准Monitor输出,该语句将输出提取到客户端程序。如果您使用的是mysql交互式客户端,则将常用的分号语句终止符替换为,则输出更具可读性\G
:
mysql>SHOW ENGINE INNODBSTATUS \G
SHOW ENGINE INNODB STATUS
InnoDB
如果InnoDB
启用了锁定监视器,则输出还包括锁定监视器数据。
将标准InnoDB监视器输出定向到状态文件
InnoDB
通过--innodb-status-file
在启动时指定选项,可以启用标准监视器输出并将其定向到状态文件。使用此选项时,InnoDB
将在数据目录中创建一个名称为文件的文件,并将输出大约每15秒写入一次。innodb_status.pid
InnoDB
正常关闭服务器后,将删除状态文件。如果发生异常关闭,则可能必须手动删除状态文件。
该--innodb-status-file
选项仅供临时使用,因为输出生成会影响性能,并且文件会随着时间变得很大。innodb_status.pid