如何将超过10 MB的视频存储到MySql数据库中?

时间:2012-05-05 10:58:19

标签: mysql video size store

我需要在MySQL数据库中插入超过10 MB大小的视频。怎么做?
我尝试以下查询。

{  
  insert into mscit_video values(1,'bcg',LOAD_FILE('c:\\abc\\xyz.mpg') 
}  

使用此查询我成功地将1 MB视频存储到数据库中,但是如果我尝试了 要插入超过10MB大小的视频,会出现以下错误。

"java.sql.SQLException: Result of load_file() was larger than max_allowed_packet (1048576) - truncated"  

可以在10 MB以上的数据库中存储视频吗?如果是,那么如何?
给我任何参考或提示。
在此先感谢..

3 个答案:

答案 0 :(得分:4)

请注意,这里的问题不是数据库/表/字段的容量,而是数据包发送(我在发送非常长的连接查询之前遇到了这个问题,从客户端到服务器)。您是否拥有MySQL数据库的管理员权限?您可能希望增加max allowed packet size

答案 1 :(得分:2)

您需要指定longblob作为电影列的数据类型。它最多可存储4 GB

答案 2 :(得分:2)

我个人不会将视频存储在数据库中。您可能最好将文件位置(元数据)存储在数据库中查找视频文件的位置。然后,您可以将文件存储在文件系统或某些分布式文件系统中,如S3。

如果您仍然希望存储在数据库中,请尝试使用LONGBLOB字段,该字段最多可以提供4GB个存储空间。