mysql - 如何在 Rails 3 中备份和恢复 mysql 数据库

标签 mysql ruby-on-rails-3 mysqldump mysql-management

是否可以执行以下操作: 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/

相关文章:

ruby-on-rails - ROR/Hpricot : parsing a site and searching/comparing strings with regex

ruby-on-rails - has_many 与 select 关联

ruby-on-rails - 为什么 simple_form 用所有 comment_titles 填充这些选择列表?

mysql - 将 mysql 数据库从 linux 移动到 windows

mysql密码弄乱了我的转储

mysql - 使用 Select 插入 MAX+1 但也插入其他值

mysql - prestashop move 到新服务器回落到本地主机

python - sqlobject线程安全

Mysql - 如何从表中获取唯一的 dd-mm-YY?

MySQL 数据导出更改时间