Chinaunix首页 | 论坛 | 博客
  • 博客访问: 309220
  • 博文数量: 33
  • 博客积分: 586
  • 博客等级: 中士
  • 技术积分: 494
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-27 14:05
个人简介

衡铁刚 1)2011-2013:Alibaba MySQL DBA 2)2014-至今: Alibaba 数据库PD

文章分类

全部博文(33)

文章存档

2016年(1)

2015年(10)

2013年(5)

2012年(17)

我的朋友

分类: Mysql/postgreSQL

2012-10-26 15:46:22

mysqldump出来的文件source回去,经常出现meta data lock,32个并行source进程退化到实例上数据库数目(仅限5.5)

  • sql文件内容:

CREATE DATABASE  IF NOT EXISTS  testdb

use testdb;

CREATE TABLE t1 (a int );

LOCK TABLES t1 write;

当两个或两个以上这样sql文件source时,后来的进程需要获得该库的schema metadata lockschema metadata lock的优先级大于 table metadata lock,因此需要等待该库下面所有的lock语句释放表上的锁


  • 改进方案就是去掉CREATE DATABASE  IF NOT EXISTS  testdb语句,统一存放在一个文件中,在恢复开始时创建所有数据库
5.1不存在这种问题,因为5.5才引入metadata lock


阅读(1628) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~