说明
MySQL 5.7开始,可以使用sys.diagnostics来获取数据库信息,利用information_schema和performance_schema的数据
sql
CALL sys.diagnostics( in_max_runtime, in_interval, in_auto_config);
CALL sys.diagnostics( 120, 30, 'current');
in_max_runtime (INT UNSIGNED):最大数据采集时间,单位为秒。默认值为 60 秒,自定义需使用大于 0 的值。
in_interval (INT UNSIGNED):数据采集之间的休眠时间,单位为秒。默认值为 30 秒,自定义需使用大于 0 的值。
in_auto_config ENUM('current', 'medium', 'full'): 要使用的 Performance Schema 配置。允许的值有:
current:使用当前的 instrumen 和 consumers 设置。
medium:启用部分 instrumen 和 consumers。
full:启用所有 instrumen 和 consumers。
使用一,保存到txt文件
sql
tee mysql_diag.out
CALL sys.diagnostics( 120, 30, 'current');
notee
使用二,生成html
sql
mysql -hlocalhost -P3306 -uroot -p -H -e "CALL sys.diagnostics(1, 1, 'current')" > /tmp/report_$(date +"%Y-%m-%d_%H-%M").html