免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2597 | 回复: 5
打印 上一主题 下一主题

晕一个,貌似碰到BUG了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-17 01:31 |只看该作者 |倒序浏览
想备份一个大表,几千万行,结果跑了快个把小时给我报错了

mysql> insert into yyy select * from xxx ;
ERROR 1206 (HY000): The total number of locks exceeds the lock table size
mysql>

查到如下类似例子,貌似BUG,而且还没有解决。

http://bugs.mysql.com/bug.php?id=15667

只好改为 MYISAM再试试了

顺便问一下,除了这样insert倒数据之外,还有其它什么方法可以直接复制一个表么?

论坛徽章:
0
2 [报告]
发表于 2008-02-17 01:55 |只看该作者
将目标表改为MYISAM,仍然碰到这个问题

无言,继续查文档

才几千万行,才2G左右大小的表而已

有点郁闷啊

论坛徽章:
0
3 [报告]
发表于 2008-02-17 16:14 |只看该作者
全部数据删了都重新再加载了,都用MYISAM ENGINE了

这次再从一个表生成另一个表,没有碰到问题

大表大概有2500万行数据,表文件最后查看大概在1.7G左右

继续求问:

对于这种大表的复制,有没有比load data infile 和 inert into yyy select * from xxx这两种方式更快的?

论坛徽章:
0
4 [报告]
发表于 2008-02-17 18:25 |只看该作者
原帖由 col.g 于 2008-2-17 01:31 发表
想备份一个大表,几千万行,结果跑了快个把小时给我报错了

mysql> insert into yyy select * from xxx ;
ERROR 1206 (HY000): The total number of locks exceeds the lock table size
mysql>

查到如下 ...





SET @@AUTOCOMMIT=0;
LOCK TABLES yyy WRITE, xxx READ;
insert into yyy select * from xxx ;
UNLOCK TABLES;

论坛徽章:
0
5 [报告]
发表于 2008-02-18 09:06 |只看该作者

论坛徽章:
0
6 [报告]
发表于 2008-02-20 02:30 |只看该作者
原帖由 yueliangdao0608 于 2008-2-18 09:06 发表
http://www.pmal.net/redirect.php?tid=10590&goto=lastpost


谢谢yueliangdao0686!ITPUB也看见你回贴,热心人啊!

我已经改成MYISAM ENGINE了,先用着再说。目前是纯粹学习加试验,因为笔记本的空间有限,暂时不用INNODB了,所以先不管这个参数了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP