mysql - 备份数据库以及与数据库相关的文件

标签 mysql database git batch-file filesystems

我正在开发一个 php 应用程序,它从一堆服务器收集某些数据。

我定期备份这些数据。很多时候我也想在开发的时候把数据库恢复到某个状态。例如,可能存在与某个备份状态相关的错误。 我已经用 bat 文件设置了这个,它将数据库转储到一个新文件,并让我恢复到某个转储文件。 然而,数据现在还包括数据库字段指向的文件系统文件。 如何以一种方便的方式以同步方式备份数据库和相关文件,以便它们与项目文件的其余部分隔离? 写这篇文章时想到的一种方法是将所有与数据库相关的文件放在一个公共(public)文件夹中,然后有一个嵌套的 git 存储库(“子模块”)以及在提交时转储数据库并在 checkout 期间恢复的 git-hooks。 但是我没有使用子模块的经验,想知道这是否是一种明智的做法?

最佳答案

我会避免在 git 存储库中存储大型二进制文件。

我宁愿将数据库保存的文件分开,但要有一个特殊的名称:一个包含 repo 的 SHA1 的名称。
我会同时备份 repo 协议(protocol),as a bundle (意味着只有一个文件)

这样,您每次保存时都会保留几个文件(即 2 个):一个用于数据库,一个用于存储库。

关于mysql - 备份数据库以及与数据库相关的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26072311/

相关文章:

MySQL 假设我不想要基于所使用的运算符的任何结果

sql - Oracle sqlplus 注释

java - 在 Java 应用程序中查询内存中的一组对象的技术

eclipse - 如何从 Eclipse 中现有的 maven 项目创建 git 项目?

mysql - 如何将多行插入MySQL

mysql - MSSQL 使用分隔符分割字符串

mysql - 我可以使用稍后在查询中选择的列吗?

git - 如何在git中的两个分支之间同步一些文件?

git - 将主分支的提交 merge 到另一个分支,但不 merge 两个分支

php - 如何重定向子文件夹以从主目录读取所有代码?子文件夹中的源代码相似但内容不同