Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menyambung dengan Selamat ke Pelayan MySQL Jauh daripada Python Menggunakan Terowong SSH?

Bagaimanakah Saya Boleh Menyambung dengan Selamat ke Pelayan MySQL Jauh daripada Python Menggunakan Terowong SSH?

Barbara Streisand
Lepaskan: 2024-12-10 18:04:10
asal
1039 orang telah melayarinya

How Can I Securely Connect to a Remote MySQL Server from Python Using SSH Tunneling?

Mendayakan SSH Tunneling untuk Python-MySQL Connectivity

Dalam bidang sambungan pangkalan data, menggunakan MySQLdb untuk mewujudkan sambungan Python ke pelayan jauh adalah satu amalan biasa. Walaupun kaedah ini memenuhi tujuannya, ia mungkin perlu untuk menjamin sambungan melalui terowong SSH untuk privasi data yang dipertingkatkan. Artikel ini meneroka cara untuk mencapai ini dengan pelaksanaan Python.

Secara tradisinya, sambungan Python ke pelayan MySQL diwujudkan terus melalui modul MySQLdb. Walau bagaimanapun, untuk mewujudkan terowong SSH yang selamat untuk sambungan, pengubahsuaian diperlukan. Dengan menggunakan perpustakaan luaran seperti paramiko dan sshtunnel, adalah mungkin untuk membuat sambungan SSH dan port ke hadapan ke pelayan MySQL sasaran.

Berikut ialah contoh kod yang menunjukkan cara menyediakan terowong SSH untuk Python-MySQL sambungan:

import pymysql
import paramiko
from paramiko import SSHClient
from sshtunnel import SSHTunnelForwarder

# SSH Configuration
ssh_host = 'ssh_hostname'
ssh_user = 'ssh_username'
ssh_port = 22
mypkey = paramiko.RSAKey.from_private_key_file('path/to/ssh/key')

# MySQL Configuration
sql_hostname = 'sql_hostname'
sql_username = 'sql_username'
sql_password = 'sql_password'
sql_main_database = 'db_name'
sql_port = 3306
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)
    # Execute queries and access data as usual
    conn.close()
Salin selepas log masuk

Dengan memanfaatkan perpustakaan ini, Python boleh mewujudkan sambungan selamat ke pelayan MySQL jauh melalui terowong SSH. Pendekatan ini sangat meningkatkan keselamatan data, terutamanya apabila berurusan dengan maklumat sulit atau sensitif.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyambung dengan Selamat ke Pelayan MySQL Jauh daripada Python Menggunakan Terowong SSH?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan