程序员开发实例大全宝库

网站首页 > 编程文章 正文

mysqldump报错:Got error: 1205(mysqldump error 2020)

zazugpt 2024-09-07 21:39:50 编程文章 29 ℃ 0 评论

mysqldump -u root -pxxxxx --socket=mysql.sock --no-data '--log-error=instance_from_3341_20200501.0110_structure.log' --verbose --databases test

本意是想导出mysql数据库实例test的表结构,运行上面以后,出现的现象是:

1、一直停止在下面的输出页面上:

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */;

USE `test`;

然后就是长时间等待,时间很长(最长的有1个小时)

2、然后,漫长等待后,进程就自动退出了,结果是什么文件都没有

3、在对应log_error文件中有下面的记录:

-- Connecting to localhost...

mysqldump: Got error: 1205: Lock wait timeout exceeded; try restarting transaction when using LOCK TABLES

4、重点是:一个test用户不行,但是另外的test1运行这个命令很正常

根据上面的错误系统,在网上查询了大量的资料,说的都是如下方面操作:

1、innodb_trx和PROCESSLIST表中存在未提交事务;

2、然后kill掉对应的线程

根据上面的提示,我查询了innodb_trx和PROCESSLIST表中关于test和test1的记录,发现

这两个实例都在这些两个表存在记录,有些进程长期存在,但是对应的sql语句是动态变化的,

INNODB_LOCKS和INNODB_LOCK_WAITS没有发现锁的记录。

所以问题就是:

1、为什么test用户不行,test1就能正常导出?

2、test用户导出表结构的问题,到底应该如何解决?

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表