【发布时间】:2011-10-06 16:58:56
【问题描述】:
我在工作中必须完成的任务遇到问题。 我有一个 MySQL 数据库,它保存着我公司的几个客户的信息,我必须创建一个备份/恢复程序来为任何单个客户备份和恢复这些信息。澄清一下,如果我的客户 A 丢失了他的数据,我必须能够恢复这些数据,确保我没有修改客户 B、C、... 我不是数据库管理员,所以我不知道我是否可以使用标准的 mysql 工具(如 mysqldump)或任何其他备份工具(如 Percona Xtrabackup)来做到这一点。
作为备份,我的研究(和我的直觉)引导我找到了这个可能的解决方案:
- 使用插入选择语法创建恢复插入语句 (http://dev.mysql.com/doc/refman/5.1/en/insert-select.html);
- 将此插入保存到 sql 文件中,以正确的顺序或允许此脚本暂时禁用外键检查以满足外键的约束;
- 当然,我每天为所有客户执行此操作,并为每个客户(和一天)使用一个文件。
然后,如果我必须为特定客户端恢复数据:
- 我删除了他剩下的所有数据;
- 我使用他在备份期间创建的 sql 文件恢复了正确的数据。
这样我相信我可以在不接触客户端 B 的数据的情况下恢复客户端 A 的正确数据。我的解决方案最终是否有效?有没有更好的方法来达到相同的结果?或者您需要有关我的问题的更多信息?
如果这个问题的格式不正确,请原谅我,但我是新来的,这是我的第一个问题,所以我可能不准确......无论如何感谢您的帮助。
注意:我们还将使用 mysqldump 备份整个数据库。
【问题讨论】:
标签: mysql database-backups mysql-backup