cron job替换(恢复)数据库

时间:2011-06-23 15:52:01

标签: database replace cron jobs

我环顾四周,我只找到了我真正需要实现的部分解决方案。基本上我正在设置一个测试站点以允许用户进行更改,我需要每小时恢复一次数据库

我发现cron的这个脚本工作正常,但这是第一次...基本上这个脚本不会因为重复的条目而恢复现有的数据库,所以对我的测试站点不好

mysql -u user -ppassword databasename< /path/to/backup.sql

基本上我想做的就是恢复我的转储数据库(也可能是所有文件),但我找不到怎么做......

这是我运行此脚本时通过电子邮件收到的错误

第62行的错误1062(23000):关键字'PRIMARY'重复输入'1'

所以我想我应该有一种方法可以在恢复原始转储后立即删除数据库....我对此并不擅长,所以请光临我!... 感谢

1 个答案:

答案 0 :(得分:1)

我可以在这里考虑两个选项:

  1. 您可以使用在还原数据库之前删除表的选项来创建原始数据库的另一个备份。这有效地将DELETE行添加到生成的.sql文件中。执行此操作的命令是:

    mysqldump --add-drop-table -u [username] -p [password] [database]> backup.sql

  2. 使用mysqlimport为已经存在的数据库导入备份,如下所示:

    mysqlimport -u [用户名] -p [密码] [数据库] backup.sql

  3. 希望这有帮助。