无法在python中关闭SSH连接

时间:2019-03-06 10:07:04

标签: python python-3.x

我是python的新手,所以我可能搞砸了一些东西。 我正在连接到MySql,但是在执行选择后我想退出连接,我尝试使用server.stop(),但这没用。

from sshtunnel import SSHTunnelForwarder
import getpass
import mysql.connector


#password_ssh = getpass.getpass("Insert Password of SSH Connection")
#password_db = input("Insert Password of MySql DB")
user_ssh = 'user'

user_db = 'user'

with SSHTunnelForwarder(
        ('{host}', port),
        ssh_password= '',
        ssh_username= user_ssh,
        remote_bind_address=('127.0.0.1', 3306)) as server:
    con = mysql.connector.connect(
        user=user_db, passwd='',
        db='db_name', host='127.0.0.1',
        port=server.local_bind_port)
    mycursor = con.cursor()

    mycursor.execute("SELECT.... ")
    myresult = mycursor.fetchall()
    server.stop()
print(myresult)

我无法打印变量的值:myresult,该变量不为null,如果我将其放在“ with SSH ..”中,它会打印,但是如果我将其放在外面,则不起作用。 我是否缺少某些东西或缩进不正确?

谢谢

1 个答案:

答案 0 :(得分:0)

发生这种情况是因为您的客户端仍处于打开状态。

关闭客户端后,它将允许您停止服务器。

con.close()

server.stop()