Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पायथन से SSH सुरंग अपने आप बंद हो रही है

steven-rumbalski के अनुसार ऊपर की टिप्पणी:

बदलें: with SSHTunnelForwarder(...) as server
साथ: server = SSHTunnelForwarder(...)
फिर रैप करें: server.start() ... server.stop()
उस कोड के आसपास जिसे आप SSH टनल के माध्यम से भेजना चाहते हैं।

यहाँ परिवर्तित कोड है:

import pymysql, shlex, shutil, subprocess
import logging
import sshtunnel
from sshtunnel import SSHTunnelForwarder
import iot_config as cfg

def OpenSSHTunnel():
    global server
    sshtunnel.DEFAULT_LOGLEVEL = logging.DEBUG
    server = SSHTunnelForwarder(
        (cfg.sshconn['host'], cfg.sshconn['port']),
        ssh_username = cfg.sshconn['user'],
        ssh_private_key = cfg.sshconn['private_key_loc'],
        ssh_private_key_password = cfg.sshconn['private_key_passwd'],
        remote_bind_address = ('127.0.0.1', 3306)
    )

def OpenRemoteDB():
    global remotecur, remotedb
    remotedb = None
    remotedb = pymysql.connect(
        host='127.0.0.1',
        user=cfg.remotedbconn['user'],
        passwd=cfg.remotedbconn['passwd'],
        db=cfg.remotedbconn['db'],
        port=server.local_bind_port
    )
    remotecur = remotedb.cursor()
    print("Checkpoint 1")

def SyncActions():
    print("Checkpoint 2")
    # this should now work as expected
    remotecur.execute("SELECT ActionID, Description FROM cmAction")
    for r in remotecur:
        print(r)

# Main program starts here
OpenSSHTunnel()
server.start()
OpenRemoteDB()
SyncActions()
server.stop()



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या .NET के लिए MySqlConnector का उपयोग करके TransactionScope ऑब्जेक्ट पूरी तरह से समर्थित है?

  2. MySQL TRUNCATE () फ़ंक्शन - किसी संख्या को दशमलव स्थानों की निर्दिष्ट संख्या में छोटा करें

  3. डेटाबेस पासवर्ड कैसे बदलें

  4. कई-से-एक संबंध पर DELETE ON CASCADE का उपयोग कैसे करें

  5. MySQL के साथ PHP PDO का उपयोग करते हुए गैर-वस्तु त्रुटियाँ