metadata怎么打开_查看过分享是什么意思

metadata怎么打开_查看过分享是什么意思作者:洪斌 爱可生南区负责人兼技术服务总监,MySQL ACE,擅长数据库架构规划、故障诊断、性能优化分析,实践经验丰富,帮助各行业客户解决 MySQL 技术问题,为金融、运营商、互联网等行业客户提…

技术分享 | 如何方便的查看 Metadata Lock

作者:洪斌 爱可生南区负责人兼技术服务总监,MySQL  ACE,擅长数据库架构规划、故障诊断、性能优化分析,实践经验丰富,帮助各行业客户解决 MySQL 技术问题,为金融、运营商、互联网等行业客户提供 MySQL 整体解决方案。 本文来源:转载自公众号-玩转MySQL *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


MySQL 的 Metadata Lock 机制是为了保护并发访问数据对象的一致性。DDL、表级锁、全局锁都会产生 metadata lock,写操作在锁释放前会被阻塞,而任何会话持有了 metadata lock 在 processlist 中是看不到的。

metadata怎么打开_查看过分享是什么意思

当发现其他会话被阻塞,就很难快速找到“罪魁祸首”。之前也曾介绍过《快速定位令人头疼的全局锁》

最近折腾 MySQL shell 插件时发现了一个方法,也能很方便的查询元数据锁。

在社区 MySQL shell 插件库 https://github.com/lefred/mysqlshell-plugins 的 ext.check.get_locks() 函数查看实例上锁情况。要在 MySQL 8.0 以上版本,它用到了 CTE 查询。

metadata怎么打开_查看过分享是什么意思

如果是 MySQL 5.7,需先开启 metadata 的 instrument。

call sys.ps_setup_enable_instrument("wait/lock/metadata/sql/mdl%")

代码100分

执行此 SQL 查看元数据锁情况,上锁会话、SQL、锁类型能关联显示。

代码100分
SELECT
    ps.*,
    lock_summary.lock_summary
FROM
    sys.processlist ps
    INNER JOIN (
        SELECT
            owner_thread_id,
            GROUP_CONCAT(
                DISTINCT CONCAT(
                    mdl.LOCK_STATUS,
                    " ",
                    mdl.lock_type,
                    " on ",
                    IF(
                        mdl.object_type = "USER LEVEL LOCK",
                        CONCAT(mdl.object_name, " (user lock)"),
                        CONCAT(mdl.OBJECT_SCHEMA, ".", mdl.OBJECT_NAME)
                    )
                )
                ORDER BY
                    mdl.object_type ASC,
                    mdl.LOCK_STATUS ASC,
                    mdl.lock_type ASC SEPARATOR "
"
            ) as lock_summary
        FROM
            performance_schema.metadata_locks mdl
        GROUP BY
            owner_thread_id
    ) lock_summary ON (ps.thd_id = lock_summary.owner_thread_id)  G

metadata怎么打开_查看过分享是什么意思

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7813.html

(0)
上一篇 2023-03-13
下一篇 2023-03-13

相关推荐

  • MySQL事务。「建议收藏」

    MySQL事务。「建议收藏」相关资料:https://zhuanlan.zhihu.com/p/70701037 https://zhuanlan.zhihu.com/p/59061106 一、事务。 1、概念。事务是由一组SQ

    2022-12-17
    150
  • 表单生成器(Form Builder)之mongodb表单数据查询——返回分页数据和总条数 – du[通俗易懂]

    表单生成器(Form Builder)之mongodb表单数据查询——返回分页数据和总条数 – du[通俗易懂]上一篇笔记将开始定义的存储结构处理了一下,将FormItems数组中的表单项都拿到mongodb document的最外层,和以前的关系型数据类似,之不过好多列都是动态的,不固定,不过这并没有什么影响

    2022-12-17
    157
  • python如何使用打开多页面的简单介绍

    python如何使用打开多页面的简单介绍python的webbrowser模块支持对浏览器进行一些操作,主要有以下三个方法:

    2023-11-29
    126
  • 工具 | 使用 CLion 编译调试 MySQL 8.0

    工具 | 使用 CLion 编译调试 MySQL 8.0MySQL 源代码是基于关系模型理论的具体实现,是数据库理论与实践的结合。 阅读 MySQL 及相关工具的源代码,不仅是数据库研发人员的日常,也是 DBA 进阶的必经之路,全方位提高技术水平。 夯实原

    2023-04-20
    149
  • oracle 删除 归档

    oracle 删除 归档oracle删除归档,可以使用rman删除归档,也可以使用rm直接删除! 1.使用rm删除归档: 删除所有归档:find /u01/app/oracle/archive -mtime -1 -nam…

    2022-12-23
    151
  • Mysql主从复制之安装

    Mysql主从复制之安装搭建前提:两台相近的mysql服务器 此次搭的环境是Redhat7+Mysql8.0(搭建单机步骤翻前面的博文) 主从配置的简要步骤 Master 上的配置 安装数据库; 修改数据库配置文件, 指明…

    2023-02-25
    150
  • Python Bottle介绍

    Python Bottle介绍Python Bottle是一个快速简单的轻量级web框架,可以使您更轻松地创建、构建、部署和管理web应用程序。由于它的简单性和速度,Bottle被许多Python开发者广泛使用。

    2024-07-09
    37
  • Spyder与Python的关系

    Spyder与Python的关系在今天的科技时代,计算机编程成为了一个火热的领域,而Python被誉为编程界的“瑞士军刀”,成为了各个领域里必不可少的编程语言之一。而对于Python开发者来说,一款高效的IDE是必不可少的,这里介绍一下Spyder这个Python IDE。

    2024-07-23
    32

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注