Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyambung dengan Selamat ke MySQL melalui SSH Tunneling dalam Python?
Dalam aplikasi Python, mengakses pangkalan data MySQL selalunya diperlukan. Untuk mewujudkan sambungan selamat, satu teknik melibatkan penggunaan terowong SSH. Artikel ini meneroka cara memanfaatkan pasangan kunci SSH untuk mencipta terowong SSH dan memudahkan sambungan MySQL melalui Python.
Pertimbangkan kod Python berikut:
import MySQLdb db = MySQLdb.connect(host="sql.domain.com", user="dev", passwd="*******", db="appdb")
Sementara kod di atas mewujudkan sambungan langsung kepada pelayan MySQL, mungkin terdapat senario di mana terowong SSH diperlukan untuk keselamatan yang dipertingkatkan. Terowong SSH menyulitkan sambungan, menyediakan saluran selamat untuk komunikasi.
Untuk menyediakan terowong SSH dan menyambung ke MySQL menggunakan Python, ikut langkah berikut:
Berikut ialah contoh coretan kod yang menunjukkan langkah-langkah ini:
import pymysql import paramiko import pandas as pd from paramiko import SSHClient from sshtunnel import SSHTunnelForwarder from os.path import expanduser # SSH Parameters home = expanduser('~') mypkey = paramiko.RSAKey.from_private_key_file(home + pkeyfilepath) ssh_host = 'ssh_hostname' ssh_user = 'ssh_username' ssh_port = 22 # MySQL Parameters sql_hostname = 'sql_hostname' sql_username = 'sql_username' sql_password = 'sql_password' sql_main_database = 'db_name' sql_port = 3306 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) # Perform database operations here... conn.close()
Dengan melaksanakan teknik ini, anda boleh menyambung dengan selamat ke pelayan MySQL melalui terowong SSH dalam Python. Pendekatan ini memastikan kerahsiaan dan integriti data, menjadikannya sesuai untuk aplikasi yang memerlukan langkah keselamatan yang dipertingkatkan.
Atas ialah kandungan terperinci Bagaimana untuk Menyambung dengan Selamat ke MySQL melalui SSH Tunneling dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!