不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2020-11-13 10:50  分类:MySQL/NoSQL  编辑

今天在把一个数据库的数据导出SQL,然后在另外一个库中执行的时候出现了这个问题,报错:

Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.

主要问题大表中varchar和text(longtext)字段太多,超出mysql的默认Row Size 8k的限制。

如果涉及的表没有事务和外键的约束,可以把表类型改为MyISAM也可以解决。

下面的方法针对表类型为InnoDB的方法:

找到MySQL的安装目录,找到配置文件 my.ini,进行如下修改:

innodb_file_per_table=1
innodb_file_format=Barracuda
innodb_file_format_check=ON
innodb_log_file_size=512M
innodb_strict_mode=0  

 

 

参考:https://blog.csdn.net/itwmdevoloping/article/details/95474887