mysql 增加字段或修改字段长度、报错 [Err] 1118 - Row size too large
一般出现该问题的原因是因为超过了mysql允许的最大表单长度65535
最近本人也遇到过该问题上网收了一堆相关的解决办法,最终总结出了正确的解决方案:
解决办法如下:
- 很明想导致该问题的原因是表单总长度过大,那么第一种解决方法就是将某些长度为500+的字段类型改为 longtext 可以有效的解决。
- 当1方法不好用时,可以执行一条sql语句 et global innodb_strict_mode = 0; 通过关闭严格模式跳过检测
- 如果第二种方法不好用的情况下,修改数据库配置文件 vi/etc/my.cnf
- 查看系统参数:show variables like ‘%innodb_strict_mode%’;
Show variables like ‘%innodb_log_file_size%’;
- 修改前:innodb_strict_mode=on
innodb_log_file_size=4G(注意每个配置文件的值可能不一样)
- 修改数据库配置文件的参数:
- innodb_strict_mode=0
innodb_log_file_size=1024M(该可以任意修改)
修改完后,重启mysql就可以了