【发布时间】:2013-02-07 10:08:04
【问题描述】:
我需要使用 Python SSH 进入数据库,为此我使用 PythonDB。我看到this 问题详细说明了如何执行此操作,但我似乎无法正确使用语法。有人能指出我正确的方向吗......?我还需要使用私钥,我该如何插入...?
ssh -L 9990:127.0.0.0:3396 <79.xxx.xx.xxx>
database = MySQLdb.connect(host'127.0.0.0', port=3306, user='jack', passwd='pass', db='test')
【问题讨论】:
-
这和 SSH 有什么关系?您不能立即通过 SSH 连接到 MySQL 数据库吗?两个不同的东西,SSH == 安全远程外壳,MySQL == 数据库引擎.. 从这个意义上说,它们并没有真正一起工作。
-
你读到的是两个系统一起工作。 第 1 步: SSH 进入机器。 步骤 2: 使用数据库连接执行脚本或 步骤 1: 创建 SSH 隧道 步骤 2: 运行本地脚本,但无论建立什么连接,都是通过隧道建立的。
-
嗨,对不起,我明白为什么我的问题令人困惑!所以我要做的是 Step1:使用私钥创建 SSH 隧道 Step2:在本地运行脚本 Step3:通过 SSH 连接写入 SQL 数据库。我虽然这是可能的......?
-
有可能,打开一个 SSH 隧道(通过 putty)或者在示例中您通过 linux 中的 ssh 链接自己。然后告诉你希望隧道监听哪个 local 端口,以及你的连接应该使用哪个 remote 端口。
123 -> 80例如,如果您连接到 127.0.0.1:123,您将被路由到端口 80 上的 X 主机。这就是隧道的工作方式。它不是Python实现,而是隧道实现 :) 无论如何您在本地隧道端口上运行的脚本/sql 语句,将被路由到另一端定义的主机。
标签: python mysql ssh mysql-python