gpt4 book ai didi

MySQL 建议 : huge database constantly updated but want to also search results to a website

转载 作者:行者123 更新时间:2023-11-29 03:45:18 25 4
gpt4 key购买 nike

我目前有一个包含大约 500 万行数据的数据库,每一行每天都在更新数据。我每小时更新近 200,000 行,所以我的表是 InnoDB。现在我已经知道这是我的主数据库,但我还需要将所有这些信息报告回网站,主要用于 SELECTS(基本上很少更新/插入/删除)。

我的问题是,什么可能对我来说是最好的选择? 12-24 小时的数据延迟是完全可以接受的,所以我应该有 Master -> Slave 类型的情况吗?我是否应该每 12 小时转储一次主数据库并根据需要简单地替换网站的版本,将少量更新/删除发送到我首先执行的 SQL 文本文件?

这是一个将在未来 12 个月内快速增长的项目,所以我现在真的很想做出最好的选择。我们的数据库正在运行,因为我们有一个非常强大的服务器,但我想确保一旦我们启动该站点,它也会得到优化。一个例子是,如果我们每天转储数据库并替换旧数据库,那么我必须考虑可能发生的少数更新。如果主/从设置对此更理想,您能否提供一些文档的链接,以帮助我最好地优化我的设置?

最佳答案

您可以打开 bin 日志记录(无论如何您都可以通过主设置打开它)然后手动(或通过 cronjob)FLUSH LOGS并将最后一个 binlog(s) 发送到读从机(比如,每 12+ 小时)。

此时,您可以使用标准的mysql工具(mysqlbinlog)读取日志并导入到您的读取实例中

mysqlbinlog/路径/到/binlog | mysql -u -p

请务必阅读注释 here围绕将多个二进制日志传递给 mysqlbinlog 命令的问题。

此方法假定读取主机在开始此方法之前已与数据库的完整快照同步。

关于MySQL 建议 : huge database constantly updated but want to also search results to a website,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6644931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com