MySQL Connector/NET 发行说明
使用 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,请增加此数字。
可以使用 MySQL Workbench 服务器管理 屏幕修改 max_allowed_packet
选项。在“网络”选项卡的 数据/内存大小 部分中,将“允许的最大值”选项调整为适当的设置。调整值后,单击 按钮,并使用 MySQL Workbench 的 启动/关闭
屏幕重新启动服务器。您也可以直接在 my.cnf
文件中调整此值(添加一行 max_allowed_packet=
),或在 MySQL 中使用 xx
MSET max_allowed_packet=
语法。xx
M;
设置 max_allowed_packet
时尽量保守一些,因为 BLOB 数据的传输可能需要一些时间才能完成。尽量设置一个足以满足您预期用途的值,并在必要时增加该值。