一、问题描述
今天编辑富文本内容提交更新到数据库时,遇到以下错误:
Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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.
编辑器用的是 vue-quill-editor,这个编辑器对图片的处理是把图片进行 Base64 编码到文本中。
提示行体积太大??
二、解决方案
设置 Mysql 的 innodb_log_file_size 就可以了。
在 my.cnf(Linux) 或 my.init(Windows) 文件的 [mysqld] 下方,增加一行设置:
[mysqld]
innodb_log_file_size = 256M
然后重启 Mysql 即可:
主要问题还是 Mysql InnodbDB 的文件存储引起的。详见本文参考里面的链接文章。