使用 MySQL 处理数据的第一步是BLOB
配置服务器。首先,创建一个可以访问的表。文件表通常有四列:一
AUTO_INCREMENT
列大小合适(UNSIGNED SMALLINT
)作为主键来标识文件,一VARCHAR
列存储文件名,一UNSIGNED MEDIUMINT
列存储文件大小,一
MEDIUMBLOB
列存储文件本身。对于此示例,使用下表定义:
CREATE TABLE file(
file_id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
file_name VARCHAR(64) NOT NULL,
file_size MEDIUMINT UNSIGNED NOT NULL,
file MEDIUMBLOB NOT NULL);
创建表后,您可能需要修改
max_allowed_packet
系统变量。此变量确定可以将多大的数据包(即单行)发送到 MySQL 服务器。默认情况下,服务器只接受来自客户端应用程序的最大大小为 1MB 的数据。如果您打算在文件传输中超过 1MB,请增加此数字。
max_allowed_packet
可以使用 MySQL Workbench Server 管理
屏幕修改
该选项。将网络选项卡的数据/内存大小部分中的最大允许选项调整为
适当的设置。调整值后,单击ApplyStartup / Shutdown
按钮并使用
MySQL Workbench的屏幕重新启动服务器。您还可以直接在my.cnf
文件中调整此值(添加一行内容为
),或使用
MySQL 中的语法。
max_allowed_packet=
xx
MSET
max_allowed_packet=
xx
M;
设置时尽量保守
max_allowed_packet
,因为 BLOB 数据的传输可能需要一些时间才能完成。尝试设置一个足以满足您的预期用途的值,并在必要时增加该值。