MySQL Dump 正在等待表元数据锁

5
我正在尝试进行类似如下的mysqldump操作:
mysqldump -u root -p db > C:\FileLocation
但是,当我运行该命令时,它从未完成。因此,我使用了SHOW PROCESSLIST;来查看发生了什么。在我的转储查询状态中,状态显示为:“等待表元数据锁定”。数据库中只有另外两个进程在运行(除了SHOW PROCESSLIST命令),这两个进程都处于睡眠状态。
我尝试杀死其他两个进程,然后进行转储操作,这对我起作用了。但是,无论这两个进程是否在工作,我都希望该转储操作能够正常工作。有没有办法解决这个问题?
1个回答

8

最终我成功解决了...

我只需要在原始查询的开头添加:--single-transaction=TRUE 即可。例如:

mysqldump --single-transaction=TRUE -u root -p db > C:\FileLocation

这样可以在不锁定表的情况下运行进程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接