MYSQL Row size too large (> 8126) 的错误
错误1:
ERROR 1118
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默认配置的字段数量了,可以通过修改配置来扩大数量。或者是错误2:
com.mysql.jdbc.PacketTooBigException: Packet for query is too large
原因:每次传输的包太大了,超过了配置文件里配置的最大包大小了。解决步骤
步骤1:知道要修改哪些配置参数:
对于原因1,我自己是添加了3个配置参数:
innodb_log_file_size = 500M
innodb_log_buffer_size = 800M
innodb_strict_mode = 0
对于原因2,只需添加1个参数:
max_allowed_packet = 256M
前面3个参数是我参考这个得出来的:https://stackoverflow.com/questions/22637733/mysql-error-code-1118-row-size-too-large-8126-changing-some-columns-to-te步骤2:编辑my.ini配置文件,将上面的参数输进去
linux下是:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
编辑完my.ini之后,按Ctrl + X退出,按提示输入Y然后回车保存
windows下的my.ini所在位置:
https://blog.csdn.net/Sunshine_ZCC/article/details/75195953
(注: 如果已经配置了AAA=123,又想配置AAA=456,记得注释掉其中一个,否则mysql会以最后出现的为准。)
- 步骤3:重启mysql服务
linux下:
/etc/init.d/mysqld restart 或者 service mysqld restart 或者 service mysql restart,然后输入密码。如图:
windows下:好像好像是在任务管理器里的服务那里,重启mysql服务,好像要重启多个mysql的服务
- 说明
这是百度上找的解决方案,原文链接在下面
原文:https://blog.csdn.net/qijingpei/article/details/85758725