load data会被当成一个事务处理ERROR 1197

问题现象:

l有一份csv格式的文件,大小在14G左右。max_binlog_cache_size=4G。

登录mysql实例,选择对应的表通过load data往指定表里导数。大概20分钟左右,报以下错误:

ERROR 1197 (HY000) at line 2: Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again

原因分析:

原因是csv格式的文件数据量太大,mysql会把load data当作一个事务来处理,要么成功要么失败。导数失败后,表中数据量为0。

解决方式是:

将csv文件通过split命令拆分成多个文件,再通过load data导入到数据库中。

原文地址:https://www.cnblogs.com/janehoo/p/5959775.html