作者:魏新平 在使用mysql的时候,我们有时会碰到Waiting for table metadata lock的锁等待。...| localhost | NULL | Query | 21 | Waiting for table metadata lock | select * from test.t...-------------+--------------------------------+ | test | t | SHARED_WRITE | GRANTED...字段表示连接对于matadata锁的持有状态,GRANTED表示持有,PENDING表示等待。...一般及时提交或者尽量优化sql,缩短sql的执行时间,就可以减少Waiting for table metadata lock的出现次数了。
生产环境,假如不小心有个Waiting for global read lock 锁出现(例如flink cdc全量抽取数据),很容易造成生产事故。...Waiting for global read lock 的案例: 会话1: [test]> flush table with read lock; Query OK,...+-----------+---------------+ | 135 | dts | 192.168.31.181:52902 | test | Query | 517 | Waiting...for global read lock | delete from tb2 | 517124 | 3 | 3 | | 136 |...DIGEST_TEXT: FLUSH TABLE WITH READ LOCK 1 row in set (0.00 sec) 使用kill命令,将上面的142
启动查看控制台 控制台 Waiting for changelog lock....
当在ubuntu系统上进行apt安装时,报了这种错误:Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend....S 09:19 0:00 /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held installroot 74210 34.6 6.1
Waiting for lock on */.ivy2/.sbt.ivy.lock to be available Waiting for lock on */.sbt/boot/sbt.boot.lock
h309.jpg (3)最后上到服务器上查看下SQL的执行情况 ①查看show full processlist; doc_image_2_w1889_h676.jpg 大量的请求都是在“Waiting...for table metadata lock”,可以分成三类请求: Select请求 Rename请求 Sleep请求 ②分析Waiting for table metadata lock... 一般来说常见的“Waiting for table metadata lock”会出现在DDL操作或者是有未提交的事务上,从information_schema.processlist表中...支持事务的InnoDB引擎表和不支持事务的MyISAM引擎表,都会出现Metadata Lock Wait等待现象。...if not exists tb2(a int); ... hangs ... ③查看show processlist Session 1:Sleep Session 2:Waiting
在进行alter table操作时,有时会出现Waiting for table metadata lock的等待场景。...而且,一旦alter table TableA的操作停滞在Waiting for table metadata lock的状态,后续对TableA的任何操作(包括读)都无法进行,也会在Opening tables...的阶段进入Waiting for table metadata lock的队列。...造成alter table产生Waiting for table metadata lock的原因其实很简单,一般是以下几个简单的场景: 场景一: 通过show processlist可以看到TableA...如果有alter table的维护任务,在无人监管的时候运行,最好通过lock_wait_timeout设置好超时时间,避免长时间的metedata锁等待。
结果提示: # yum -y install vixie-cron Loaded plugins: fastestmirror, refresh-packagekit, security Existing lock...Another app is currently holding the yum lock; waiting for it to exit... 可能是系统自动升级正在运行,yum在锁定状态中。
Waiting for table metadata lock 这个mdl锁,我们最常见,这篇先拿它开刀。... waiting_lock_type | EXCLUSIVE waiting_lock_duration | TRANSACTION waiting_query... waiting_lock_type | EXCLUSIVE waiting_lock_duration | TRANSACTION waiting_query... = 'PENDING' AND b.lock_status = 'GRANTED' AND a.OWNER_THREAD_ID b.OWNER_THREAD_ID AND a.lock_type... = 'PENDING' AND b.lock_status = 'GRANTED' AND a.OWNER_THREAD_ID b.OWNER_THREAD_ID
问题描述 对MySQL进行alter table等DDL操作时,有时会发现对某个表的任何操作都被阻塞,包括读,报错如下图所示 [业务报错] 然后show process list可以看到大量的Waiting...for table metadata lock的等待场景。
背景 案例一、 某用户A反馈CDB实例读业务数据库没有响应,在控制台界面看到ro节点被剔除,剔除之前数据库监控上面cpu负载正常,活跃线程数出现大量的堆积;提单后,平台紧急介入,观察到ro节点出现大量的waiting...同时通过观察,发现从节点上面出现大量的waiting for table metadata lock的报错。...分析 对于mysql族的数据库,出现waiting for table metadata lock的报错,我们都可以套用一套经典的故障场景,即 session1 session2 session3 T1...A表相关大事务 T2 申请A表原子写锁操作线程处于waiting metadata lock T3 A表相关查询线程处于waiting metadata lock...这里先介绍一个参数:lock_wait_timeout lock_wait_timeout Command-Line Format --lock-wait-timeout=# System Variable
ORA-04021: timeout occurred while waiting to lock object 解决方法 某个应用正在锁定该表或者包 表为 select b.SID,b.SERIAL#
1.异常 工作流模块Jar包启动报错: 2021-02-14 13:45:13.735 [main] INFO liquibase - Waiting for changelog lock.......2021-02-14 13:45:23.739 [main] INFO liquibase - Waiting for changelog lock.... 2021-02-14 13:45:33.744...- Waiting for changelog lock.... 2021-02-14 13:45:53.755 [main] INFO liquibase - Waiting for changelog...lock.... 2021-02-14 13:46:03.762 [main] INFO liquibase - Waiting for changelog lock.... 2021-02-14...liquibase - Waiting for changelog lock.... 2.原因 工作流表部分日志表被锁,可能上次未正常终止程序导致的异常。
1.异常 工作流模块Jar包启动报错: 2021-02-14 13:45:13.735 [main] INFO liquibase - Waiting for changelog lock.... 2021...-02-14 13:45:23.739 [main] INFO liquibase - Waiting for changelog lock.... 2021-02-14 13:45:33.744 [...- Waiting for changelog lock.... 2021-02-14 13:45:53.755 [main] INFO liquibase - Waiting for changelog...lock.... 2021-02-14 13:46:03.762 [main] INFO liquibase - Waiting for changelog lock.... 2021-02-14...liquibase - Waiting for changelog lock.... 2.原因 工作流表部分日志表被锁,可能上次未正常终止程序导致的异常。
查询某一个表时,一直没有显示数据,于是就show processlist; 发现有表已经被锁了,关掉了之前的查询语句可以看到 这时候需要查看未提交的事务 sel...
,"PENDING"代表线程在等待MDL,而"GRANTED"则代表线程持有MDL。...= 'PENDING' AND b.lock_status = 'GRANTED' AND a.OWNER_THREAD_ID b.OWNER_THREAD_ID AND a.lock_type...: 29 waiting_pid: 4 waiting_account: root@localhost waiting_lock_type...: 29 waiting_pid: 4 waiting_account: root@localhost waiting_lock_type...= 'PENDING' AND b.lock_status = 'GRANTED' AND a.OWNER_THREAD_ID b.OWNER_THREAD_ID
由于此前从未遇到过Waiting for table metadata lock异常,原因是之前东家的架构针对数据库操作有平台工具和完善发布流程来确保ddl操作不会影响线上服务。...二、MySQL出现Waiting for table metadata lock的原因 1、MDL锁(metadata lock)的原因 mysql为了在并发环境下维护表元数据的数据一致性...一旦出现Metadata Lock Wait等待现象,后续对该表的所有访问操作(包括读)都被会阻塞在,因为他们也会在Opening tables的阶段进入到Waiting for table metadata...lock的锁等待队列。...虽然MySQL 5.6推出了online ddl特性,解决执行ddl锁表的问题,但是也会存在Waiting for table metadata lock的情况,具体先看看MySQL Online DDL
原文地址http://jingyan.baidu.com/article/9113f81b2e7a8c2b3314c711.html
领取专属 10元无门槛券
手把手带您无忧上云