【Python】SSH接続経由で、MySQLサーバーに接続してみる

Python を使って、レンタルサーバーにSSH接続してから、

MySQLに接続して、insert したり、select したりしてみました。

from sshtunnel import SSHTunnelForwarder
import mysql.connector

def connect(sql):

with SSHTunnelForwarder(
('【SSH接続先サーバー】', 22),
ssh_username='【SSHユーザー名】',
remote_bind_address=('【サーバーのアドレス】', 3306),
local_bind_address=('localhost', 3306),
ssh_pkey="~/.ssh/id_rsa"
) as ssh:

conn = mysql.connector.connect(
host='127.0.0.1',
user='【MySQLユーザー名】',
password='【MySQLパスワード】',
database='【データベース名】',
charset="utf8"
)

# SELECT:
cur = conn.cursor(dictionary=True)
cur.execute(sql)
self.data = cur.fetchall()
conn.close()

# INSERT or UPDATE:
cur = conn.cursor()
cur.execute(sql)
conn.commit()
print(cur.rowcount)
conn.close()

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA