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,请增加此数字。

max_allowed_packet可以使用 MySQL Workbench Server 管理 屏幕修改 该选项。将网络选项卡的数据/内存大小部分中的最大允许选项调整为 适当的设置。调整值后,单击ApplyStartup / Shutdown按钮并使用 MySQL Workbench的屏幕重新启动服务器。您还可以直接在my.cnf文件中调整此值(添加一行内容为 ),或使用 MySQL 中的语法。 max_allowed_packet=xxMSET max_allowed_packet=xxM;

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