为了降低系统使用率,我计划使用另一台服务器来存储我的数据库。那么如何将 MySQL 查询重定向到另一台服务器或让 MySQL 将数据库存储在另一台服务器上?
答案1
你可以使用类似 mysql 代理的东西链接1 链接2但它没有得到很好的支持。此外,性能下降有点重要。如果可能的话,我建议你直接告诉你的应用程序连接到实际的 mysql 服务器,并选择一个选项。例如,对于 PHP,有mysqlnd_ms它允许添加多个 mysql 服务器并在它们之间进行负载平衡。
答案2
另一件事是在 tcp 模式下使用 HAProxy
答案3
最好的方法是将所有流量从 3306 端口转发到运行 mysql 的目标 IP 地址的 3306 端口。
根据您使用的操作系统,您可以使用不同的数据包转发应用程序,如 iptables、数据包过滤器等。
由于它工作在数据包层,而不是应用程序层,因此您将跳过使用应用程序进行重定向的开销。这将比使用 MysqlProxy 等传统应用程序快得多。
当您需要应用程序级别的理解时,MysqlProxy 很有用,例如,如果您想将 mysql 写请求重定向到一个服务器并将读取请求重定向到其他服务器,但在这种情况下,使用 mysql 代理将是一个很大的额外开销。