MySQL导入速度减慢,jbd2磁盘高I / O

我正在导入一个大的.sql文件到我的服务器MySQL数据库,

然而,import迄今只import了几张桌子,目前正在logging在一张桌子上。 然而,导入在每两千条logging之后暂停,并且这些暂停越长导入到表中的logging越多。 这基本上会很快停下来。

我在想这可能是与一些内存限制?

但是运行iotop显示jbd2进程在任何时候都在使用大量的磁盘I / O。

显示jbd2的高使用率

这可能是一个原因吗? 如果有,是否有任何方法来禁用日记,直到导入完成?

它不只是复制数据 – DBMS必须将数据写入表并维护索引。 为了避免碎片化索引并增加整体吞吐量,它会一次添加整个logging负载,并以块的forms修改索引 – 也就是说,会有一段时间写大量的数据库文件和input文件的读取量很小。 随着索引变大,需要更多工作来添加logging。

closures文件系统日志将有助于吞吐量。 (可能从调整DBMS中获得更大的好处 – 但是这需要更多的努力,试验和错误 – 如果你的恢复很less,这将是不值得的)。