文档主页
MySQL Connector/NET 开发者指南
相关文档 下载本手册
PDF (US Ltr) - 1.3Mb
PDF (A4) - 1.3Mb


5.6.1 准备 MySQL 服务器

使用 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=xxM),或在 MySQL 中使用 SET max_allowed_packet=xxM; 语法。

设置 max_allowed_packet 时尽量保守一些,因为 BLOB 数据的传输可能需要一些时间才能完成。尽量设置一个足以满足您预期用途的值,并在必要时增加该值。