如何在MySQL中进行备份?
我希望每隔"x"小时运行mysqldump会有更好的东西.
有没有类似SQL Server的东西,你可以在那里每天进行完整备份,然后每小时进行一次增量备份,所以如果你的数据库死了你可以恢复到最新的备份?
像DB日志这样的东西,只要日志不死,你可以恢复到数据库死亡的确切位置?
另外,这些东西如何影响锁定?如果我做一个mysqldump,我希望在线交易能锁定一段时间.
您可能希望查看增量备份.
mysqldump是一种合理的方法,但请记住,对于某些引擎,这将在转储期间锁定表 - 这对大型生产数据集有可用性问题.
一个明显的替代方案是来自Maatkit(http://www.maatkit.org/)的mk-parallel-dump,如果你是mysql管理员,你应该检查一下.这使用mysqldump并行转储多个表或数据库,从而减少转储所花费的总时间.
如果你在一个复制的设置中运行(如果你在生产中使用MySQL来处理重要的数据,你就没有理由不这样做了),从专用于此目的的复制从服务器中获取转储将防止任何锁定问题.制造麻烦.
下一个明显的替代方案 - 至少在Linux上 - 是使用LVM快照.您可以锁定表,快照文件系统,并再次解锁表; 然后使用该快照的挂载启动一个额外的MySQL,从那里转储.这里描述了这种方法:http: //www.mysqlperformanceblog.com/2006/08/21/using-lvm-for-mysql-backup-and-replication-setup/
现在我开始听起来像这个产品的市场营销人员.我在这里回答了一个问题,然后我又在这里回答了另一个问题.
简而言之,从webyog尝试sqlyog(在您的情况下是企业),以满足您的所有mysql要求.它不仅可以安排备份,还可以安排同步,因此您可以将数据库实际复制到远程服务器.
它有免费的社区版和企业版.虽然我也建议你从通讯版本开始,然后首先看看你喜欢它,我推荐给你.