mysql错误:Row size too large (> 8126).
mysql版本:mysql 5.6mysql引擎:默认InnoDB
问题原因:由于一张定义角色信息表有接近300列,并且多数是blog的数据类型,数据存储时报这个错:
Row> 问题分析:
You may want to take a look at this article which explains a lot about MySQL row>
The simplest way to fix this is to use the Barracuda file format with InnoDB. This basically gets rid of the problem> 解决方法:
1、修改mysql配置文件my.cnf
innodb_file_per_table
innodb_file_format = Barracuda
2、修改造成这个问题的表属性
ALTER TABLE $TABLE
ENGINE=InnoDB
ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=8;
3、重启mysql服务
4、通过写sql语句修改mysql环境配置,可以免重启服务。当然,配置文件中也必须配置上面两个参数,这个操作只是避免此次重启mysql服务
mysql> set global innodb_file_per_table =ON;
mysql> SET GLOBAL innodb_file_format = barracuda;
页:
[1]