【问题标题】:How to store more than 10 mb video into MySql Database?如何将超过 10 mb 的视频存储到 MySql 数据库中?
【发布时间】:2012-05-14 17:25:54
【问题描述】:

我需要将超过 10 MB 大小的视频插入 MySQL 数据库。如何做到这一点?
我尝试以下查询。

{  
  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 的视频?如果是,那怎么办?
给我任何参考或提示。
提前谢谢..

【问题讨论】:

  • 更改 max_allowed_pa​​cket

标签: mysql video size store


【解决方案1】:

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

如果您仍然真的想存储在数据库中,请尝试使用 LONGBLOB 字段,它应该可以为您提供最多 4GB 的存储空间。

【讨论】:

  • 你能帮我把视频位置(元数据)存储在数据库中吗?我所有的视频都在我的 youtube 频道上。 @斯科特
  • 你必须更具体一点。对您而言,这听起来就像存储视频链接一样简单。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-10
      • 1970-01-01
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      • 2011-07-10
      • 1970-01-01
      相关资源
      最近更新 更多