小编das*_*sup的帖子

删除带有待处理事务的 MySQL 表

有没有办法在 MySQL 中删除具有待处理事务的 InnoDB 表或数据库(最好在文件系统级别)?

发生了什么:

我使用 MySQL 5.5.28 并运行LOAD DATA INFILE…将一个巨大的数据集(300M 行)导入到 InnoDB 表中。我以前没用过set autocommit = 0;。不幸的是,mysqld在导入过程中被停止了。

当我重新启动时mysql,它会尝试使用如下消息回滚填充系统日志的事务:

mysqld_safe[4433]:121212 16:58:52 InnoDB:等待 1 个活动事务完成

问题是回滚现在运行了超过 25 小时,在此期间 mysqld不接受任何套接字连接。

我不能只是删除/var/lib/mysql/*并从头开始,因为这台机器上还有一些其他 InnoDB 数据库/表。但是,有问题的表是单独数据库中的唯一表。删除整个表或整个数据库不是问题,因为我可以在之后重新导入所有数据。

mysql innodb transaction rollback

10
推荐指数
1
解决办法
9206
查看次数

标签 统计

innodb ×1

mysql ×1

rollback ×1

transaction ×1