【问题标题】:WHM / cPanel: mySQL back-upWHM / cPanel:mySQL 备份
【发布时间】:2012-11-30 23:15:14
【问题描述】:

我正在设置一个安装了 WHM / cPanel 的新服务器。

我可以每天进行一次或两次完整的 mySQL 备份,这一点非常重要。

目前数据库非常小(20 mb),但一旦我们获得更多客户,容量就会迅速增加。

我现在可以创建一个 cron 作业并通过电子邮件发送备份。 但是,由于这些备份的未来规模,我认为这是一个糟糕的解决方案。

关于每日 mySQL 备份,您有哪些最佳建议?

【问题讨论】:

    标签: mysql backup


    【解决方案1】:

    您可以设置一个 cron 作业来备份您的数据库并将其转储到您选择的目录:

    mysqldump --all-databases --skip-lock-tables | gzip -9 > /your/backup/dir/here/`date +%Y%m%d`_backup.sql.gz
    

    你从那里做什么取决于你,但我同意你不应该因为它的大小而通过电子邮件发送它。也许您可以使用SCP 将其发送到不同的服务器。

    【讨论】:

    • 为什么是skip-lock-tables?在绝大多数用户应用程序中,默认的--opt 设置将是合适的。您很可能希望--lock-tables 获得一致的数据快照。
    【解决方案2】:

    备份的常见做法如下

    1. 每天备份一次。
    2. 当第一天达到一周前,开始删除内容,但保留一周前的内容。
    3. 开始保留每月备份,一旦第一个备份达到一个月,就每周删除所有备份。

    您也可以每年继续这样做。

    这样做的全部意义在于,您应该在备份达到周标记之前发现信息中的任何错误。您真的不需要为任何特定目的保留 REALLY 旧备份,这就是您开始删除内容的原因。

    除非您在各种磁盘上拥有无限空间,否则您最好遵循这种做法,并确保您的数据不会发生任何变化。

    干杯。

    【讨论】:

      【解决方案3】:

      如果您认为您的数据会增长到相当大的规模,以至于会导致大量数据库停机以进行转储,那么您首先应该考虑实施一个复制设置,以便您可以从从站中删除转储。

      您当然可以在 cron 中运行一个简单的 mysqldump 命令,将转储文件放入机器上的驱动器中。然后,您可以担心通过其他方式将数据移出机器(您不想通过电子邮件发送)。请记住,只要您的数据转储完成,它就会暂时锁定您的数据库。

      如果您想开箱即用,您可以在 Amazon RDS 上实施一个 MySQL 实例。它可以轻松完成复制、数据库快照等操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-22
        • 1970-01-01
        • 2015-05-14
        • 2015-12-18
        • 2017-03-05
        相关资源
        最近更新 更多