【问题标题】:How to bring files in a filesystem in/out MySQL DB?如何将文件系统中的文件导入/导出 MySQL DB?
【发布时间】:2010-09-27 14:39:39
【问题描述】:

我正在开发的应用程序会随着使用而动态生成文件。这使得分段、开发和生产之间的备份和同步成为一个真正的巨大挑战。我们可能会获得平滑解决方案(如果可行)的一种方法是拥有一个脚本,在备份数据库时可以备份数据库内动态生成的文件,并且在恢复时可以将这些文件从数据库中取出并放入文件系统。

我想知道是否有任何可用的(付费或免费)应用程序可以用作脚本来实现这一点。

如果我有的话

/usr/share/appname/server/dynamicdir
/usr/share/appname/server/otherdir/etc/resource.file

然后拿上面的例子,用脚本把它们放到mysql数据库中。

如果您需要更多信息,请告诉我。

【问题讨论】:

    标签: mysql linux backup scripting


    【解决方案1】:

    您的意思是应用程序将文件作为 blob 存储在 MySQL 数据库中,和/或创建大量临时表?或者您只是希望将临时文件(它们本身与数据库无关)作为备份存储在 MySQL 中?

    我不确定尝试使用 MySQL 作为文件备份的全新中介是一个好主意。如果应用程序已经使用它,那是一回事,如果没有,MySQL 不是这里的正确工具。

    无论如何。如果您有兴趣在某个时间点捕获文件系统,答案是使用LVM snapshots。您可能需要重新构建服务器才能将文件系统放到 LVM 上,并在那里有足够的可用存储空间来存储您认为需要的任意数量的快照。

    我建议为此应用临时文件设置一个新的挂载点。如果您的 MySQL 表使用 InnoDB、一个在后台运行 mysqldump --single-transaction 的简单脚本,然后是 lvm 快照进程,您可以在不到一秒的时间内将这些同步。

    【讨论】:

      【解决方案2】:

      使用 PHP、perl、python 等应该很容易完成。你在找人为你写这个吗?

      【讨论】:

      • 我的问题的主要目的是知道这是否微不足道并且已经存在于开源社区中。我正在寻找一种简单的方法来备份我们的应用程序,该应用程序存在设计缺陷并且备份起来很复杂。如果我们必须做进一步的开发,那么我们必须重新考虑。谢谢
      • 是的,这很简单。但我不知道已经编写的脚本或开源项目可以为你做这件事。
      猜你喜欢
      • 1970-01-01
      • 2018-11-13
      • 2020-01-11
      • 2021-04-02
      • 2012-03-01
      • 1970-01-01
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多