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