1.在实际开发中,需要把大文本或二进制数据保存到数据库。要将大文件存入Mysql,首先要将其转换为字节数组,然后再写入Mysql
2.对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为:
MySQL使用四种text类型来处理文本大数据:
类型 长度 tinytext 28–1B(256B) text 216-1B(64K) mediumtext 224-1B(16M) longtext 232-1B(4G)
MySQL使用四种blob类型来处理二进制数据:
类型 长度 tinyblob 28–1B(256B) blob 216-1B(64K) mediumblob 224-1B(16M) longblob 232-1B(4G)
3.除了类型对后面存取文件大小有限制,还要修改mysql的单表默认存储大小。
Windows、linux基本一样
通过修改文件my.ini或my.cnf文件,在文件中增加 max_allowed_packet=10M(就是最大10M,mysql默认4MB,增加前先查找一下确保没有设置过)
1.可使用命令 查看mysql默认设置的大小
show VARIABLES like 'max_allowed_packet';
如下 显示大小为4M
mysql> show VARIABLES like 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
1 row in set (0.00 sec)
2.更改设置:使用命令或是通过修改mysql配置文件my.ini或my.cnf
设置max_allowed_packet = 10M注意:大小必须为1024的倍数,且最大为1g,修改完成后重启命令行查看是否修改成功
set global max_allowed_packet = 10*1024*1024