Heim > Datenbank > MySQL-Tutorial > So stellen Sie mithilfe von Python basierend auf SSH eine Remoteverbindung zur MySQL-Datenbank her

So stellen Sie mithilfe von Python basierend auf SSH eine Remoteverbindung zur MySQL-Datenbank her

WBOY
Freigeben: 2023-05-27 16:07:13
nach vorne
1355 Leute haben es durchsucht

Hintergrund

Wenn Sie auf die MySQL-Datenbank eines Remote-Servers zugreifen müssen, die Sicherheitsmaßnahmen jedoch für den Sicherheitszeitraum der MySQL-Datenbank so eingestellt sind, dass nur lokale Verbindungen zugelassen werden (d. h. Sie müssen sich beim Server anmelden). Wenn andere Remoteverbindungen keinen direkten Zugriff haben und der entsprechende Port geändert wurde, müssen Sie eine SSH-basierte Verbindung zur Datenbank herstellen. Die Methode zum Herstellen einer Verbindung zur Datenbank ähnelt der Schnittstellenverbindung in Navicat über SSH.

So stellen Sie mithilfe von Python basierend auf SSH eine Remoteverbindung zur MySQL-Datenbank her

Navicat

So stellen Sie mithilfe von Python basierend auf SSH eine Remoteverbindung zur MySQL-Datenbank her

Mit der Datenbank verbinden

Installieren Sie die Support-Bibliothek

  • Wenn Sie eine Verbindung zu MySQL herstellen möchten, müssen Sie zuerst pymysql installieren

pip install pymysql
Nach dem Login kopieren
  • Installation basierend auf SSH Bibliothek sshtunnel

  • pip install sshtunnel    #当前最新 0.3.1版
    Nach dem Login kopieren
Installieren Sie die neueste SSHtunnel-Bibliothek. Die alte Versionsbibliothek weist einige Fehler auf. Stellen Sie eine Verbindung zu MySQL her, die auf SSH basiert. Es gibt einige Fälle darin

Benutzerdefinierte Abfragefunktion

Sie können die obige Verbindung in einer Funktion kapseln, was für die Verwendung an anderen Orten praktisch ist

with SSHTunnelForwarder(
        ('192.168.1.1', 2222),
        ssh_password='123456',
        ssh_username='root',
        remote_bind_address=('127.0.0.1', 3306)) as server:
    print('SSH连接成功')
    conn = pymysql.connect(host='127.0.0.1',
                           port=server.local_bind_port,
                           user='root',
                           database='data',
                           charset='utf8')
    print('mysql数据库连接成功')
    cursor = conn.cursor()
    ...  #获取数据操作,此处省略
    cursor.close()
    conn.close()
Nach dem Login kopieren

Hinweise:

Bei Verwendung der Datenbank conn.commit() , cursor.close(), conn.close()Diese müssen auf standardisierte Weise verwendet werden, um unnötige Fehler zu vermeiden

    Es wird empfohlen, diese Methode zu verwenden, wenn Durch die Eingabe von Parametern cursor.execute(sql,args) verhindern Sie das Risiko einer SQL-Injection
  • conn.commit()cursor.close()conn.close()这些一定要规范使用,防止不必要的bug

  • 传入参数时建议用这种方式cursor.execute(sql,args)

Das obige ist der detaillierte Inhalt vonSo stellen Sie mithilfe von Python basierend auf SSH eine Remoteverbindung zur MySQL-Datenbank her. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage