2
我寫了一些python腳本,我想通過SSH連接隧道我的MySQL服務器並執行一些SQL請求。Python ssh與子流程中的隧道
import MySQLdb
import os
handle = os.popen('ssh config -L 3306:127.0.0.1:3306')
db = MySQLdb.connect(host="127.0.0.1",
user="Username",
passwd="Secret",
db="dbName")
cur = db.cursor()
cur.execute("SELECT * FROM tablename")
for row in cur.fetchall():
print row[1]
db.close()
handle.close()
的連接工作正常,但它執行後不關閉腳本(子),而且它增加了一些空格在每個印刷行的前面。
感謝您的閱讀並提前致謝。
謝謝你,我已經改變了正確的方式,它仍然無法正常工作。現在它連接到數據庫服務器並執行DatabaseServer上的命令,但我需要它運行SQL請求本地,SSH連接應該只在後臺打開。 – Knoedelauflauf
但是'subprocess'做到了這一點:它在後臺運行進程。 –
哦,我不明白。它總是在執行數據庫查詢時顯示數據庫服務器的用戶名。 – Knoedelauflauf