我目前有一个大约有500万行数据的数据库,每天都会用数据更新每一行。我每小时要更新近200,000行数据,所以我将表作为InnoDB。现在我已经知道这是我的主数据库,但我还需要将所有这些信息报告给一个网站,主要用于选择(基本上很少的更新/插入/删除)。
我的问题是,对我来说最好的选择是什么?12-24小时的数据延迟是完全可以接受的,那么我应该有一个主->从类型的情况吗?我是否应该每12小时转储一次主数据库,并根据需要简单地替换网站的版本,将一些更新/删除发送到我首先执行的SQL文本文件?
这是一个将在未来12个月内快速增长的项目,所以我真的想现在做出最好的选择。我们的数据库是飞行的,因为我们有一个非常强大的服务器,但我想确保一旦我们启动了网站,它也是优化的。举个例子,如果我们每天都转储数据库并替换旧的数据库,那么我必须考虑到会发生的一些更新。如果主/从设置更理想,你能提供一些文档的链接,帮助我优化我的设置吗?
发布于 2011-08-04 13:36:46
您可以打开bin日志(无论如何,您将使用主设置打开它),然后手动(或通过cronjob) FLUSH LOGS,并将最后一个binlog发送到read从服务器(例如,每隔12+小时)。
此时,您可以使用标准的mysql工具(mysqlbinlog)读取日志并将其导入到read实例中
mysqlbinlog /path/to/binlog | mysql -u -p
请务必阅读有关将多个binlog传递给here命令的问题的说明。
此方法假定在开始此方法之前,读取主机已与数据库的完整快照同步。
https://stackoverflow.com/questions/6644931
复制相似问题