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

atitit查询表改动表字段没反应--解锁锁定的表的更多相关文章

  1. atitit查询表修改表字段没反应--解锁锁定的表

    atitit查询表修改表字段没反应--解锁锁定的表 查询表修改表字段没反应 要是使用gui 没反应,最好使用cmd 方式,不卉不个gui 锁上.. ALTER TABLE t_mb_awardweix ...

  2. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  3. 使用SQL语句查询表及表字段类型说明

    今天突然遇到有人要数据库表及表字段说明,数据库表太多又不能一个个表去找,就想想SQL是否能直接查询出来. 经过查询资料,加上一些自己的一些调整写了一个sql语句,在此记录一下,以方便日后查找使用. S ...

  4. MySQL查询表与表字段的信息

    环境: Mysql数据库 库名:db_name 表名: table_name1 table_name2 查询一个里面所有表的信息: use information_scheam; select * f ...

  5. sql查询表的所有字段和表字段对应的类型

    1.查询表的所有字段 select syscolumns.name from syscolumns where id=object_id('写上要查询的表名') 2.查询表的所有字段+表字段对应的类型 ...

  6. tp数据表字段缓存

    在维护一个tp写的项目,因为需要在产品表product中增加了一个字段status,但是不论如何就是无法给status赋值,查了资料才发现,原来是tp的数据表字段缓存在搞鬼. 在runtime> ...

  7. 为了解决mysqlbing翻译表字段问题而分析frm文件(持续更新)

    出处:kelvin19840813 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是对博主最大的鼓励,感谢您的认真阅读.本文版权归作者所有,欢迎转载,但 ...

  8. MySQL修改表字段相关信息

    昨天收获颇多,首先回顾一下有关mysql的内容. 我在查询表信息时,出现了 empty set 0.00 sec 的错误,我很奇怪,仔细检查发现原来是表字段名称写错了, 于是我想修改字段名称,经过查询 ...

  9. day38 mycql 初识概念,库(增删改查),表(增删改)以及表字段(增删改查),插入更新操作

    在Navicat中把已经生成的表逆向成模型 数据库上,右键-逆向数据库到模型 ego笔记: 增删改查 文件夹(库) 增 create database day43 charset utf8; 改 al ...

随机推荐

  1. python开发与实战content

    课时10_字典和集合 课时11 练习:列表运算.doc 课时12_讨论答疑:日志.引用.单例模式等 课时13_函数式编程 课时14 练习:编程实现若干函数.doc 课时15_练习讲解:编写函数 课时1 ...

  2. box-sizing:content-box

    box-sizing:content-box 规定两个并排的带边框的框:

  3. 双向DFS模板题

    B. Book of Evil time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  4. HTML5在input背景提示文本(placeholder)的CSS美化

    本文转自http://www.webhek.com/html5-placeholder-css/ 在火狐浏览器中的写法和在谷歌浏览器和Safari里的写法有些不同.但相信以后会统一. /* 通用 */ ...

  5. 利用SQL语句实现分页

    1.概述 在网页中如果显示的数据太多就会占据过多的页面,而且显示速度也会很慢.为了控制每次在页面上显示数据的数量,就可以利用分页来显示数据. 2.技术要点 在SQL Server中要实现SQL分页,需 ...

  6. 改变Edit的光标(使用CreateCaret,ShowCaret和LoadBitmap三个API函数)

    看着Edit的光标,是不是觉得了无生趣,想不想换个形状来玩玩,其实很简单,且听我道来. Edit是Windows的标准控件,它是一个系统范围窗口类,所以任何应用程序都能创建它.其实Edit本质上也是一 ...

  7. jquery中怎么删除<ul>中的整个<li>包括节点

    .$('ul li').remove(); .$('ul li').each(function(){ $(this).remove(); }); .$("ul").find(&qu ...

  8. visio ppt axure AI svg powerdesign xmind

    visio  ppt  axure  AI svg powerdesign xmind

  9. python转换时间戳和日期时间格式的转换

    [steven@txzxp2 seccenter]$ python Python 2.7.5 (default, Jul  8 2013, 09:48:59)  [GCC 4.8.1 20130603 ...

  10. tmpfs(/dev/shm)

    tmpfs是一种基于内存的文件系统,它和虚拟磁盘ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储.而且传统的ramdisk是个块 ...