我正在为生产运行AWS RDS大型实例。 我每天午夜都在服用mysqldumps。 但是,在mysql转储过程中,采取mysql转储并且网站不响应的时间太长。 而不是采取MySQL转储,现在我每天都采取数据库快照。
我的问题
有没有其他方法将转储的数据库快照复制到本地盒子,以便每天在本地备份它?
我会build议检查出Percona XtraBackup ( innobackupex )。 确保你的所有数据表都是InnoDB引擎types,因为MyISAM不会让你靠近解决scheme而不locking所有的表。
XtraBackup能够在正在运行的数据库上进行联机备份,对性能影响极小,locking时间最短。 在开始之前阅读文档。
如果您需要完整的备份/快照而没有任何影响,则可以考虑在从属机器上进行这些备份的主从安装。 尽pipe设置起来有点困难和痛苦。
您还可以依靠InnoDB崩溃恢复并获取EBS快照。 然后你可以挂载这个文件系统,让InnoDB用它处理日志。 但是,我不能推荐这种方法。
在不干扰MySQL数据库操作的情况下,确保获得良好备份的正常方法是使用主/从configuration,并从备份中进行备份。 这甚至可以是一台机器上的两个MySQL实例。 在这种情况下,奴隶的performance受到打击,而不是主人。