Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kích hoạt Python để kết nối với MySQL thông qua SSH Tunneling

Chỉ điều này làm việc cho tôi

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách nhập cơ sở dữ liệu bằng phpMyAdmin

  2. Làm cách nào để lấy tuổi từ trường D.O.B trong MySQL?

  3. MySQL lỗi cú pháp 1064 nhưng mọi thứ có vẻ ổn

  4. Làm thế nào để loại bỏ khoảng trắng đầu và cuối trong MySQL

  5. SQL Buddy - Một công cụ quản trị MySQL dựa trên web