今天就跟大家聊聊有關如何在python3中利用ssh隧道對mysql進行連接,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。

具體方法如下:
import pymysql from sshtunnel import SSHTunnelForwarder import pymysql.cursors #以dict形式輸出 def dbconnect_ssh(ssh_host,ssh_port,keyfile,ssh_user,db_host,db_name,sql,db_port,db_user,db_passwd): with SSHTunnelForwarder( (ssh_host, ssh_port), #ssh_password="sshpasswd", ssh_pkey=keyfile, ssh_username=ssh_user, remote_bind_address=(db_host, db_port) ) as server: db = pymysql.connect( host='127.0.0.1', port=server.local_bind_port, user=db_user, passwd=db_passwd, db=db_name, charset="utf8", cursorclass=pymysql.cursors.DictCursor) cursor = db.cursor() try: cursor.execute(sql) data = cursor.fetchall() db.commit() except: db.rollback() collect = [] for result in data: collect.append(result) db.close() cursor.close() return collect if __name__ == "__main__": ssh_host = "10.10.2.13" #SSH服務器地址 ssh_port = 22 #SSH端口 keyfile = xxxx.key" #SSH密鑰 ssh_user = "root" #SSH用戶名 db_host = "127.0.0.1" #數(shù)據(jù)庫地址 db_name = 'DBname' #數(shù)據(jù)庫名 sql = 'show tables;' #SQL db_port = 3306 #數(shù)據(jù)庫端口 db_user = 'root' #數(shù)據(jù)庫用戶名 db_passwd = '33333' #數(shù)據(jù)庫密碼 result = dbconnect_ssh(ssh_host,ssh_port,keyfile,ssh_user,db_host,db_name,sql,db_port,db_user,db_passwd) print (result)
網(wǎng)頁題目:如何在python3中利用ssh隧道對mysql進行連接-創(chuàng)新互聯(lián)
URL標題:http://www.yijiale78.com/article14/csijde.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、面包屑導航、微信公眾號、外貿建站、App設計、品牌網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)