MySQL排查问题row size too large (> 8126). Changing some columns to TEXT or BLOB may help.

这篇具有很好参考价值的文章主要介绍了MySQL排查问题row size too large (> 8126). Changing some columns to TEXT or BLOB may help.。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

例子:给表增加一列报错:

alter table student add column `aggregate_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '聚合id'
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.

单行记录的合计最大大小超过了8126字节,那么根据文档描述的话,使用dynamic行格式的表行最大大小可以达到65536字节(因为mysql内部使用了2个字节来表示字段长度,因此可以表示最大65535的长度)

CREATE TABLE `student` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(700) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名字',
  `picture` varchar(127) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `description` varchar(1023) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
  `college_id` bigint(20) NOT NULL DEFAULT '0',
  `create_time` bigint(20) NOT NULL,
  `user_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '用户id',
  `data` json DEFAULT NULL COMMENT 'ext',
  `status` int(11) NOT NULL DEFAULT '0' COMMENT '状态',
  PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4

计算:bigint 8 byte

80*8+700+127+1023+11*4=2534

虽然没有算上json字段的长度,感觉计算结果对不上。看了一些博客修改varchar为text并不能解决,需要修改mysql的配置文件,并且重启。但实际上,很多地方修改表的字段varchar啥的都会失败,跟alter语句的执行过程有关,有兴趣可以了解下,最有效的办法就是修改key_block_size的大小。

https://blog.51cto.com/hcymysql/4369124

https://www.jianshu.com/p/2c96a7f1b8aa

经过调研,“row_size>8126”报错应该是一个固定提示,所以可以不用纠结了!

MySQL排查问题row size too large (> 8126). Changing some columns to TEXT or BLOB may help.,MySQL,mysql,数据库,Powered by 金山文档

https://mariadb.com/kb/en/innodb-strict-mode/文章来源地址https://www.toymoban.com/news/detail-546873.html

到了这里,关于MySQL排查问题row size too large (> 8126). Changing some columns to TEXT or BLOB may help.的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Result window is too large, from + size must be less than or equal to: [10000] but was

    做分页查询,当分页达到一定量的时候,报如下错误: 原因分析: es对from + size的大小进行限制,必须小于等于10000。 方案一(有风险) 将max_result_window参数阈值调大,在业务中限制分页大小,使from+size=10000; 具体操作 改法一: 动态更改索引设置,为max_result_window参数赋值足够

    2024年02月16日
    浏览(39)
  • 解决Data too long for column ‘xxx‘ at row 1问题以及深入理解mysql的字符串数据类型(char,varchar,enum,text,longtext...)

    今天在测试环境新增数据时,报出如是错误: Data too long for column \\\'apply_service_type\\\' at row 1 。 为了复现这个问题,我特地在本地数据库中增加如下 test 表:

    2023年04月17日
    浏览(47)
  • elasticsearch Data too large问题解决

    现象: 1、钉钉上收到es集群监控告警,集群变为yellow 2、kibana上没有数据,打开索引管理报以下错误: 解决: 1、修改config目录下jvm配置文件中关于jvm的参数 2、重启es集群 2.1 如果分片有副本的话,重启过程中,要临时关闭分片复制功能。 每个结点重启时,ElasticSearch集群的

    2024年02月07日
    浏览(36)
  • 413 Request Entity Too Large问题解决方法

    最近我们有个小程序需求是现场拍照提取照片中的有效信息,上传图片只能通过现场拍照,由于目前手机像素普遍较高,导致上传接口出现413 Request Entity Too Large,上传文件过大引起nginx代理报错。 针对这个问题,解决方案是: 项目配置文件修改,比如springboot项目中的applic

    2024年02月16日
    浏览(37)
  • 【Elasticsearch】Elasticsearch中使用_id排序导致 data too large 问题

    Elasticsearch 一个弹性伸缩的搜索数据库,后文简称 :ES ,最近有一个ES 服务查询数据时候出现了数据 Hits 结果多次查询不一致的问题,而且这块代码已经很长时间没有修改,一直稳定运行了很长时间,用户翻译查询列表数据的时候又是出现1条,有时候出现2条或者3条。(再加上

    2024年02月03日
    浏览(35)
  • 【解决问题】413错误 413 Request Entity Too Large 接口返回413 报413nginx

    博客背景:JAVA项目,前端想弄个便捷富文本,直接很多图片转base64编码直接存库了。字段为longtext类型。 这种问题通常是在使用http请求对象太大的时候。。 1、如果是超长的话varchar类型改成longtext类型。 2、依旧怀疑超长的话,搜了一下longtext的最大长度 mysql里3种text类型的最

    2024年02月07日
    浏览(47)
  • 解决Elasticsearch exception [type=circuit_breaking_exception, reason=[parent] Data too large问题

    一、背景 公司有一批8万的数据存储在Mysql中,然后我使用多线程的方式调用Elasticsearch的bulk()方法推送到ES,但是在推送过程中出现了该问题,这属于插入数据时产生的问题 二、异常 三、解决办法 加大 -Xms 和 -Xmx 的值,比如 docker-compose.yaml 文件中可以这样设置: 四、解释

    2024年02月03日
    浏览(50)
  • 导入失败,报错:“too many filtered rows xxx, “ErrorURL“:“

    一、问题: 注:前面能正常写入,突然就报错,导入失败,报错:“too many filtered rows xxx, \\\"ErrorURL\\\":\\\" {\\\"TxnId\\\":769494,\\\"Label\\\":\\\"datax_doris_writer_bf176078-15d7-414f-8923-b0eb5f6d5da1\\\",\\\"TwoPhaseCommit\\\":\\\"false\\\",\\\"Status\\\":\\\"Fail\\\",\\\"Message\\\":\\\" [INTERNAL_ERROR]too many filtered rows\\\",\\\" NumberTotalRows\\\":325476,\\\"NumberLoadedRows\\\":325473,\\\"

    2024年01月18日
    浏览(47)
  • Nginx报错 HTTP 413 Request Entity Too Large(Payload Too Large)解决方案

    上传文件时,请求参数过大,导致超出服务端限制。 客户端发送的实体主体部分比服务器能够或者希望处理的要大。  Nginx默认最大能够上传1MB文件,打开nginx.conf在http{}中,找到server{}设置: client_max_body_size 30m;(配置客户端请求实体最大值) client_body_buffer_size 128k;(配置请

    2024年02月07日
    浏览(62)
  • Data too long for column ‘xxxx‘ at row 1 解决办法

    很简单的啦,往下看 Data too long for column ‘xxxx’ at row 1 第一种情况就是很普遍的,xxx字段长度不够 就是用Mybatis映射文件xml,字段匹配顺序错误即 原来很短的一个列,插入了很长的数据 就是数据库字符集的问题 重新设置字符串长度 仔细看一眼sql,就能排错 PS: 前端提出来

    2024年02月07日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包