创建服务器当前状态的报告,用于诊断目的。
控件的会话值在执行期间禁用二进制日志记录sql_log_bin
系统变量。这是一个受限制的操作,因此该过程需要足够的权限来设置受限制的会话变量。看到第5.1.9.1节,“系统变量权限”.
收集到的数据,诊断()
包括这些信息:
信息从
指标
视图(参见第28.4.3.21节,“度量视图”)其他有关资料
sys
模式视图,例如确定第95百分位查询的视图信息从
ndbinfo
模式,如果MySQL服务器是NDB集群的一部分复制状态(源和副本)
一些sys schema视图被计算为初始值(可选)、总体值和增量值:
in_max_runtime INT无符号
:最大数据采集时间,单位为秒。使用零
收集数据默认为60秒。否则,使用大于0的值。in_interval INT无符号
:数据收集之间的休眠时间,以秒为单位。使用零
默认睡眠30秒。否则,使用大于0的值。in_auto_config ENUM('current', 'medium', 'full')
:要使用的性能架构配置。允许的值是:当前的
:使用当前的仪器和消费者设置。媒介
:启用部分仪器和消费者。完整的
:启用所有仪器和消费者。
请注意启用的工具和用户越多,对MySQL服务器性能的影响就越大。小心使用
媒介
环境,尤其是完整的
设置,对性能影响较大。的使用
媒介
或完整的
设置要求超级
特权。如果设置不是
当前的
,则在过程结束时恢复当前设置。
诊断()
可以使用以下配置选项或它们对应的用户定义变量修改操作(请参见第28.4.2.1节,“sys_config表”):
调试
,@sys.debug
如果这个选项是
在
,产生调试输出。默认值是从
.diagnostics.allow_i_s_tables
,@sys.diagnostics.allow_i_s_tables
如果这个选项是
在
,诊断()
方法上执行表扫描INFORMATION_SCHEMA。表
表格如果有很多表,这可能会很昂贵。默认值是从
.diagnostics.include_raw
,@sys.diagnostics.include_raw
statement_truncate_len
,@sys.statement_truncate_len
方法返回的语句的最大长度
format_statement ()
函数。较长的语句被截断为这个长度。默认为64。
创建诊断报告,每30秒启动一次迭代,使用当前性能架构设置最多运行120秒:
mysql >调用系统。诊断(120,30,“当前”);
的输出诊断()
过程中,使用mysql客户端三通
而且文件名
notee
命令(见第4.5.1.2节," mysql客户端命令"):
mysql >三通diag.out;mysql >调用系统。诊断(120,30,“当前”);mysql > notee;