python从第三台机器连接到mysql

标签 python mysql django paramiko

想象一下:

我有三台机器。 M1有我的客户端程序。M3是mysql服务器。但M1不能直接连接M3。 M1 可以直接使用 ssh 或其他方式访问 M2。 M2可以直接访问M3。那么,M1上的客户端程序如何使用python通过M2连接mysql服务器M3并执行sql,例如select子句。是否可能以及如何做到这一点?谢谢。

最佳答案

也许MySQL Proxy对你的情况很有用 - 它只是一个 alpha。

还有一种方法,可以使用 SSH port forwarding 来 bing M2 上 M3 的 mysql 端口.

MySQL 的默认 TCP 端口是 3306 。相关的 SSH 命令行为

ssh M2 -L M1_port:M3:3306

(您需要用 M2 的主机名/IP 地址替换 M2,并将 M1_port 作为 M1 上以前未使用的端口,例如 3306(如果您不在 M1 上运行 MySQL 服务器)

M1 上的 MySQL 客户端应通过端口 M1_port 连接到 M1/localhost,所有这些流量都将通过端口 3306 隧道传输到 M3。

关于python从第三台机器连接到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24134870/

相关文章:

python - 在Python中创建多个记录器到同一模块中的不同输出

javascript - 我想用语法 results[3].column_name 中的变量替换列名,以便我可以根据用户打印

mysql - MySQL复制-单个数据库与多个数据库,多个数据库或多个表

python - Django - 按钮网址

python - Django {% url %} NoReverseMatch

python - 如何在 models.py 文件中正确定义 ManyToMany 字段

python - 如何使用户名立即更新而不是重新运行程序

python - [ :] in python 是什么意思

python - 使用 2 位数字与 3 位数字时,django 中的数学结果不正确?

mysql - 用户认证 Facebook