2
我試圖連接到從我的本地(窗口)我的服務器和訪問MySQL數據庫Python的 - SSH隧道設置和MySQL數據庫訪問
隨着下面的代碼通過膩子建立SSH隧道,我不能夠訪問MySQL數據庫的 。
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=3308)
cur = con.cursor()
有了下面的代碼,我使用的paramiko設置SSH隧道是成功的,但我不能夠連接到MySQL數據庫
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', username='username', password='password')
con = None
con = mdb.connect(user='user',passwd='password',db='database',host='127.0.0.1',port=3308)
cur = con.cursor()
Error:
Error 2003: Can't connect to MySQL server on '127.0.0.1' (10061)
我必須改變MySQL的連接字符串設置使用paramiko訪問MySQL數據庫如果不是,我需要爲paramiko添加參數來模擬像putty這樣的SSH隧道設置。
啊,這一個工作。如果你使用的是id_rsa,只需用'ssh_private_key = PATH_TO_id_rsa'替換'ssh_password'參數即可! –
是的!那是另一種選擇;) – jsjc
什麼是mdb?我有一個錯誤,說「mdb未定義」。在替換爲「MySQLdb」(只是一個猜測)後,我知道有一個錯誤:「文件」C:\ Python27 \ lib \ site-packages \ MySQLdb \ cursors.py「,第202行,執行 self.errorhandler自我,exc,值) 文件「C:\ Python27 \ lib \ site-packages \ MySQLdb \ connections.py」,第36行,在defaulterrorhandler中 raise errorclass,errorvalue _mysql_exceptions.OperationalError :(2006,'MySQL server has gone ')' – 62mkv