Menyambung Python ke MySQL melalui SSH Tunneling
Mewujudkan sambungan antara Python dan pelayan MySQL jauh melalui terowong SSH adalah penting untuk data selamat mendapatkan semula dan manipulasi. Walaupun sambungan MySQL asas adalah mudah, mencipta terowong SSH yang disulitkan menambah lapisan keselamatan tambahan.
Berikut ialah cara untuk membolehkan Python menyambung ke MySQL melalui terowong SSH:
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) 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()
Kod ini mewujudkan terowong SSH antara mesin tempatan dan pelayan MySQL jauh menggunakan SSHTunnelForwarder. Sambungan SSH menggunakan kunci persendirian untuk pengesahan, memastikan keselamatan yang dipertingkatkan.
Setelah terowong diwujudkan, sambungan Python MySQL dibuat ke alamat setempat terowong, membolehkan akses selamat ke pangkalan data MySQL. Pertanyaan kemudiannya boleh dilaksanakan untuk mendapatkan semula atau memanipulasi data daripada pelayan.
Atas ialah kandungan terperinci Bagaimana untuk Menyambung Python dengan Selamat ke Pelayan MySQL Jauh melalui SSH Tunneling?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!