Mysql
 sql >> Base de données >  >> RDS >> Mysql

ssh d'abord avec mysqldb en python

Je préfère garder le tunnel dans le code python, je déteste créer des tunnels manuellement, ou séparément, grâce à la bibliothèque sshtunnel c'est très simple à utiliser.

Voici un exemple simple qui fonctionnera pour ce que vous voulez.

import MySQLdb
from sshtunnel import SSHTunnelForwarder

with SSHTunnelForwarder(
         ('sshhost.domain.com', 22),
         ssh_password="sshpasswd",
         ssh_username="sshusername",
         remote_bind_address=('mysqlhost.domain.com', 3306)) as server:

    conn = MySQLdb.connect(host='127.0.0.1',
                           port=server.local_bind_port,
                           user='user',
                           passwd='password',
                           db='dbname')