2011-11-09 130 views
2

在MySQL(亚马逊RDS),当我尝试运行下面的SQL查询的MySQL亚马逊RDS:锁定等待超时超过

UPDATE 
    table1 INNER JOIN table2 USING (CommonColumn) 
SET 
    table1.col1 = table2.x, 
    table1.col2 = table2.y 

我身边52秒一致后,出现此错误:

Error Code: 1205. Lock wait timeout exceeded; try restarting transaction 

我应该如何解决这个问题?

table2有大约1700万条记录,而table2是table1的一个子集,有400万条记录。它可能是问题的表的大小,或者是我的查询有问题吗?

回答

-2

我重新启动了MySQL实例并使用相同的查询。

+1

正如我告诉过你的。有人锁定了其中一些资源。因此,重新启动关闭所有连接和资源已发布:P – jorgeu

+0

,如果问题仍然存在? – Robson

+0

如果问题仍然存在,请使用innotop查看阻塞锁的内容。然后你可以关闭与阻塞锁相关的连接(杀死有问题的进程会导致mysqld在5.5版本中出现混乱和崩溃) – ives

0

在AWS RDS上,我填充了一个数据库实例,导致客户端出现此错误。