sql >> データベース >  >> RDS >> Mysql

PythonがSSHトンネリングを介してMySQLに接続できるようにする

    これだけが私のために働いた

    import pymysql
    import paramiko
    import pandas as pd
    from paramiko import SSHClient
    from sshtunnel import SSHTunnelForwarder
    from os.path import expanduser
    
    home = expanduser('~')
    mypkey = paramiko.RSAKey.from_private_key_file(home + pkeyfilepath)
    # if you want to use ssh password use - ssh_password='your ssh password', bellow
    
    sql_hostname = 'sql_hostname'
    sql_username = 'sql_username'
    sql_password = 'sql_password'
    sql_main_database = 'db_name'
    sql_port = 3306
    ssh_host = 'ssh_hostname'
    ssh_user = 'ssh_username'
    ssh_port = 22
    sql_ip = '1.1.1.1.1'
    
    with SSHTunnelForwarder(
            (ssh_host, ssh_port),
            ssh_username=ssh_user,
            ssh_pkey=mypkey,
            remote_bind_address=(sql_hostname, sql_port)) as tunnel:
        conn = pymysql.connect(host='127.0.0.1', user=sql_username,
                passwd=sql_password, db=sql_main_database,
                port=tunnel.local_bind_port)
        query = '''SELECT VERSION();'''
        data = pd.read_sql_query(query, conn)
        conn.close()
    


    1. ScaleGridがマネージドデータベースホスティングのGoogleCloudPlatform(GCP)サポートを開始

    2. SQLServerのトリガーのリストを返す

    3. プロアクティブなSQLServerヘルスチェック、パート1:ディスク容量

    4. ORA-00904デコード・エイリアスの識別子が無効です