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.
Navicat
Mit der Datenbank verbinden
Wenn Sie eine Verbindung zu MySQL herstellen möchten, müssen Sie zuerst pymysql installieren
pip install pymysql
Installation basierend auf SSH Bibliothek sshtunnel
pip install sshtunnel #当前最新 0.3.1版
Benutzerdefinierte Abfragefunktion
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()
Bei Verwendung der Datenbank conn.commit()
, cursor.close()
, conn.close()Diese müssen auf standardisierte Weise verwendet werden, um unnötige Fehler zu vermeiden
cursor.execute(sql,args)
verhindern Sie das Risiko einer SQL-Injectionconn.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!