atitit查询表改动表字段没反应--解锁锁定的表



查询表改动表字段没反应



要是使用gui 没反应,最好使用cmd 方式,不卉不个gui 锁上..

ALTER TABLE t_mb_awardweixin  MODIFY  awardChoiceNumLeft int(11) DEFAULT NULL



#-----分析..



1.首先,查询by还有一个表格,  要是能查询,显示不是max conn的问题..或许表格锁定了..

2. show full PROCESSLIST  要是看到个Waiting for table metadata lock

 3. 查询锁上的表格.  show OPEN TABLES where In_use > 0;

 

 

作者 老哇的爪子 Attilax 艾龙。  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax





#---------原因MDL:::



一个没提交的事务使用了A表, 另外一个session 对A表进行alter,出现waiting for table metadata lock



在insert into t select * from share 执行时, 同一时候执行alter table t add index(play_count),

alter table语句会Waiting for table metadata lock, 直到insert into … select 语句结束。



 

概述



随着5.5.3引入MDL,很多其它的Query被“Waiting for table metadata lock”给'炕'了

SHOW PROCESSLIST的输出也有之前的"Locked"变得粒度更加细的'Waiting for table metadata lock'

引入MDL。当须要訪问、改动表结构时,都须要对元数据上锁(读/写)

MDL在Server层,保护表数据结构,而非数据本身。Server比之前版本号繁忙多了



MDL意味着DDL。一旦DDL被堵塞,那么面向该表的全部Query都会被挂起。包含Select。只是5.6作了改进。5.5可通过參数控制



3.应用中使用了连接池..可是又要ddl...连接池老是连续start 有些conn, kill李韩式有自己主动開始..造成后面儿ddl 不能运行..





 

 

 #----解决

 1. 设置lock_wait_timeout=50   ,默认1年..  只下一次时间生效..当前唯独kill 才干够解决..

 2. kill  锁上 conn   ( DDM alter 的query sql)  ,,,,别的query 事务奏能连续兰..

 3. 对付连接池, 能够设置timeout自己主动关闭连接.. 可是要重新启动生效..要是应用重要性,不能重新启动,能够使用防火墙阻止java进程 訪问网络...  批处理kill id ,, 查看一下,应该不会自己主动连接池连接上了,,,在ddl操作,在放开.....

 

 

 #----结论:

在准备alter table tbl 的时候。先观察一下,有没有正在执行的,且在短时间内无法结束的sql语句在操作tbl表

结论:



当须要对"热表"做DDL。须要特别慎重,否则。easy造成MDL等待,导致连接耗尽或者拖垮Server



參考

mysql出现Waiting for table metadata lock的原因及解决方式 - mysql数据库栏目 - 红黑联盟.htm

imptt 初步认知MySQL metadata lock(MDL) - DBA@DevOps - 博客频道 - CSDN.NET.htm

最新文章

  1. Photoshop 裁剪图片
  2. MySQL_关于用嵌套表计算的可以不用 20161205
  3. Away3D引擎学习笔记,持续更新
  4. 【Android 界面效果23】LayoutInflater作用及使用
  5. 天气API整理,返回的数据格式为json对象
  6. [C#]Winform下回车或Tab键自动切换下一个控件焦点
  7. hggroup和adress
  8. 支持向量机SVM(Support Vector Machine)
  9. AI时代学习新的技术,方向为计算机视觉--欢迎来我的简书blog拔草
  10. HZNU ACM一日游 2019.3.17 【2,4,6-三硝基甲苯(TNT)】
  11. angular --- s3core移动端项目(三)
  12. 主机性能监控之wmi 获取系统信息及内存性能信息
  13. JS点击按钮下载文件
  14. Git学习系列之Debian或Ubuntu上安装Git详细步骤(图文详解)
  15. Visual Studio 中的 Office 和 SharePoint 开发
  16. Android 读取Assets下的资源文件
  17. C++使用hiredis连接带密码的redis服务
  18. WebBrowser介绍——Javascript与C++互操作
  19. Nim游戏与SG函数 ——博弈论小结
  20. 一个文档让vim飞起来

热门文章

  1. <转载>如何解决子级用float浮动父级div高度不能自适应的问题
  2. JSP自定义标签——简单标签(1)
  3. WPF的消息机制
  4. linux安装Tesseract-OCR
  5. 基于Hadoop技术实现的离线电商分析平台(Flume、Hadoop、Hbase、SpringMVC、highcharts)
  6. 联系人数据库设计之ContactsTransaction
  7. 正确理解Python文件读写模式字w+、a+和r+
  8. hdu 1262 寻找素数对 数论 打表。
  9. C语言字符串操作函数
  10. 第二章排错的工具:调试器Windbg(下)