mysql 5.7 Stage Tracking DDL进度跟踪

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 5.7 Stage Tracking DDL进度跟踪相关的知识,希望对你有一定的参考价值。

背景:
mysql 中一些大表做DDL,可能时间会很长,只能在processlist 中看到当前的进程,但是无法得知当前DDL操作的进度,不太直接,今天给大家介绍5.7的一个新功能Stage Tracking,这个功能可以让我们实时得知DDL的进度,在一定的业务场景中还是挺方便,话不多说,马上开车!

mysql 5.7 performance_schema 提供一个进度跟踪功能,虽然还不是很直观,但是也相当不错了。
这边功能默认是关闭的,需要手动开启:
1,UPDATE performance_schema.setup_instruments SET ENABLED = ‘YES‘, TIMED = ‘YES‘ WHERE NAME = ‘stage/sql/altering table‘;

技术分享图片

3,这样就开启成功了。
样例:
技术分享图片

技术分享图片

通过以下sql来查看进度:
SELECT EVENT_NAME, WORK_COMPLETED, WORK_ESTIMATED,(WORK_COMPLETED/WORK_ESTIMATED)*100 as COMPLETED FROM performance_schema.events_stages_current;

技术分享图片

官方文档:
https://dev.mysql.com/doc/refman/5.7/en/performance-schema-stage-tables.html

总结:
1,5.7有很多实用的新功能和特性,对运维和优化都意义重大,performance_schema开启一些额外的功能会占用一定的资源,所以大家根据自家的业务场景来使用
2,大家还有哪些5.7实用的新特性欢迎给我留言,向大神们学习

以上是关于mysql 5.7 Stage Tracking DDL进度跟踪的主要内容,如果未能解决你的问题,请参考以下文章

Mac 如何安装 Mysql@5.7

Mac 如何安装 Mysql@5.7

Mac 如何安装 Mysql@5.7

docker 安装部署MySQL 5.7

Linux(CentOS) 安装MySQL 5.7

Mysql 5.7 安装及备份