您的位置:首页 > 其它

Row size too large Changing some columns to TEXT o

2021-03-23 20:42 134 查看

日前在做mysql备份还原的时候出现了一个问题,全备数据库再还原,在还原时候会出现以下错误:

ERROR 1118 (42000) at line 1480: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline

百度和谷歌了一通后总结原因为:mysql在存储临时文件类的数据库的时候默认使用innodb作为数据库存储引擎,而这个存储类型的最大支持行数为8126,针对此类问题有以下几个方法:

1、修改所在的数据库存储引擎为innodb

2、设置行格式为动态 

SET GLOBAL innodb_default_row_format='dynamic';

如果不确定自己的数据库行格式是什么可以使用以下命令查询:

show global VARIABLES like '%innodb_default_row_format%'

3、关闭innodb严格格式

set global innodb_strict_mode=OFF

PS:刚开始我把这些设置加在/etc/my.cnf里面,我用helm安装的mariadb pod启动会报错,识别不到这个参数,所以我只能使用全局命令

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: