是否可以执行以下操作: 1. Rails 3应用mysql数据库热备份 2. Rails 3应用mysql数据库增量备份 3. Rails 3应用mysql数据库冷备份 4. 通过 Rails 3 应用程序恢复上述任何数据库(热、增量和冷)。
请告诉我如何实现这一点?
谢谢, 苏迪尔 C.N.
最佳答案
设置一些定时任务。我喜欢用 Whenever写他们。我每天运行一次这个 bash 脚本:
#!/bin/bash
BACKUP_FILENAME="APPNAME_production_`date +%s`.gz"
mysqldump -ce -h MYSQL.HOST.COM -u USERNAME -pPASSWORD APPNAME_production | gzip | uuencode $BACKUP_FILENAME | mail -s "daily backup for `date`" webmaster@yourdomain.com
echo -e "\n====\n== Backed up APPNAME_production to $BACKUP_FILENAME on `date` \n====\n"
并将其输出到cron.log
。这可能需要您进行一些调整,但是一旦您掌握了它,它就会很好用。每天通过 gzip 文件将备份通过电子邮件发送给您,我的数据库相当大,文件现在不到 2000kb。
这不是最安全的技术,所以如果您真的担心有人可能会进入您的电子邮件并访问备份(无论如何应该对敏感信息进行加密),那么您将不得不寻找其他解决方案.
恢复:
gzip -d APPNAME_production_timestamp.gz
mysql -u USERNAME -pPASSWORD APPNAME_production < APPNAME_production_timestamp.sql
或类似的东西......我不需要经常恢复,所以我不知道这个是什么,但如果这不起作用,快速谷歌搜索应该会找到一些东西。
关于mysql - 如何在 Rails 3 中备份和恢复 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7710081/