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