Mysql 将流量重定向到另一台服务器

Mysql redirect traffic to another server

是否可以将整个 mysql 查询重定向到另一台服务器?

我在与单个数据库(windows 机器)通信的不同服务器中有很多应用程序。

用于传输数据库(到 linux 服务器)而不更改许多 php 文件中的任何 IP(有很多我不知道的东西,因为不是我的创造但是是我的遗产)有什么我可以做的吗? 代理?端口转发?

Afaik,mysql 实现不提供此功能,但是,您可以 "proxy" 使用 ssh 隧道进行连接,如下所示:

ssh -N ssh-user@host.domain -L 3306:127.0.0.1:3306

这需要在为 mysql(在端口 3306 上)提供服务的主机上安装 ssh-server,并且您可以通过 ssh-访问该机器。您 运行 您的 php 机器上的命令是从中执行的,那么只要它 运行s,您就可以访问 "localhost" 上的 mysql 主机.所有请求都将安全地传送到远程 mysql 服务器。

-L 开关指示 ssh 将本地端口 3306 上的 tcp 连接转发到您 ssh 到的机器上的端口 3306。

-N 开关指示 ssh 这样做,而不是 运行 命令。

如果添加 -f 开关,该命令将立即进入后台,这可能对这个用例有用。

您可能还想使用 passwordless ssh

但是,这可能不是一个干净的生产解决方案。我仅将此方法用于开发目的,我建议您将代码库修复在长 运行 上(即将 mysql 配置放在中心位置)。