Mysql数据库管理-阻塞lock问题分析处理 session和schema_table_locks_waits

本文主要是介绍Mysql数据库管理-阻塞lock问题分析处理 session和schema_table_locks_waits,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 schema_table_lock_waits

1 首先启用mdl锁等待事件相关的instruments

15:31:  [sys]> select name from performance_schema.setup_instruments limit 10;
+---------------------------------------------------------+
| name                                                    |
+---------------------------------------------------------+
| wait/synch/mutex/pfs/LOCK_pfs_share_list                |
| wait/synch/mutex/sql/TC_LOG_MMAP::LOCK_tc               |
| wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit         |
| wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit_queue   |
| wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_done           |
| wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_flush_queue    |
| wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_index          |
| wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_log            |
| wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_binlog_end_pos |
| wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_sync           |
+---------------------------------------------------------+
10 rows in set (0.00 sec)
 

15:32:  [sys]>

call sys.ps_setup_enable_instrument('wait/synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit');

+-----------------------+
| summary               |
+-----------------------+
| Enabled 2 instruments |
+-----------------------+
1 row in set (0.01 sec)

Query OK, 0 rows affected (0.02 sec)

mysql>call sys.ps_setup_enable_instruments('wait/lock/metadata/sql/mdl');

此视图可以查询到blocking pid信息,并给出解决方案

 

15:23:  [sys]> select * from schema_table_lock_waits \G
*************************** 1. row ***************************
               object_schema: ytt
                 object_name: t
           waiting_thread_id: 50
                 waiting_pid: 10
             waiting_account: root@localhost
           waiting_lock_type: EXCLUSIVE
       waiting_lock_duration: TRANSACTION
               waiting_query: drop table t
          waiting_query_secs: 654
 waiting_query_rows_affected: 0
 waiting_query_rows_examined: 0
          blocking_thread_id: 49
                blocking_pid: 9
            blocking_account: root@localhost
          blocking_lock_type: SHARED_READ
      blocking_lock_duration: TRANSACTION
     sql_kill_blocking_query: KILL QUERY 9
sql_kill_blocking_connection: KILL 9

1 row in set (0.00 sec)

15:23:  [sys]> kill 9;
Query OK, 0 rows affected (0.00 sec)

15:24:  [sys]> select * from schema_table_lock_waits \G
Empty set (0.00 sec)

15:24:  [sys]> select * from schema_table_lock_waits \G
Empty set (0.00 sec)

15:24:  [sys]>

这篇关于Mysql数据库管理-阻塞lock问题分析处理 session和schema_table_locks_waits的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/257585

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专