首页 新闻 会员 周边

mysql中longblob大字段类型,如何插入4G的值

0
悬赏园豆:30 [待解决问题]

网上查看资料,mysql中max_allowed_packet 最大值是1G(1073741824),设置超过1G,最终生效也只有1G,longblob类型如何插入4G的值呢?

目前max_allowed_packet 为1G的情况下,插入不到1G的值都会有报错:
mysql> show VARIABLES like '%max_allowed_packet%';
+---------------------------+------------+
| Variable_name | Value |
+---------------------------+------------+
| max_allowed_packet | 1073741824 |
| mysqlx_max_allowed_packet | 1073741824 |
| slave_max_allowed_packet | 1073741824 |
+---------------------------+------------+
3 rows in set (0.01 sec)
表结构:
create table test_longblob (id int primary key,c1 longblob);
插入:
mysql> insert into test_longblob values(1,rpad('a',422967296,'a'));
ERROR 1301 (HY000): Result of rpad() was larger than max_allowed_packet (1073741824) - truncated

日常云吸猫的主页 日常云吸猫 | 初学一级 | 园豆:89
提问于:2021-06-30 11:54
< >
分享
所有回答(1)
0

不知道你为什么要把4G的内容放到表里,最好看看设计是否又问题,把那么大的内容放到表里,插入和读取都是个问题,而且数据库的空间会消耗很快,不建议这样做。

良工说技术 | 园豆:270 (菜鸟二级) | 2021-07-01 11:08

主要是想看一下mysql主从复制,longblob字段的最大值4G能否复制成功....

支持(0) 反对(0) 日常云吸猫 | 园豆:89 (初学一级) | 2021-07-05 17:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册