1. 程式人生 > >python 通過ssh訪問資料庫

python 通過ssh訪問資料庫

通常,為了安全性,資料庫只允許通過ssh來訪問。例如:mysql資料庫放在伺服器A上,只允許資料庫B來訪問,這時,我們需要用機器C去訪問資料庫,就需要用C通過ssh連線B,再訪問A。
通過pymysql連線mysql:

import pymysql
from sshtunnel import SSHTunnelForwarder

with SSHTunnelForwarder(
        (sshServerB_ip, sshServerB_port),  # B機器的配置
        ssh_password=sshServerB_pwd,
        ssh_username=sshServerB_usr,
        remote_bind_address=(databaseA_ip, databaseA_port)) as
server: # A機器的配置 db_connect = pymysql.connect(host='127.0.0.1', # 此處必須是是127.0.0.1 port=server.local_bind_port, user=databaseA_usr, passwd=databaseA_pwd, db=databaseA_db) cur = db_connect.cursor() cur.execute('call storedProcedure'
) db_connect.commit()

以下是自己進行事務管理,並使用peewee框架:

from peewee import *
from playhouse.db_url import connect
from sshtunnel import SSHTunnelForwarder

server = SSHTunnelForwarder(
        (sshServerB_ip, sshServerB_port),  # B機器的配置
        ssh_password=sshServerB_pwd,
        ssh_username=sshServerB_usr,
        remote_bind_address=(databaseA_ip, databaseA_port))  # A機器的配置
server.start() destination_lib = connect('mysql://%s:%[email protected]:%d/%s' % (databaseA_usr, databaseA_pwd, server.local_bind_port, databaseA_db)) ''' your code to operate the databaseA ''' server.close()

相關推薦

python 通過ssh訪問資料庫

通常,為了安全性,資料庫只允許通過ssh來訪問。例如:mysql資料庫放在伺服器A上,只允許資料庫B來訪問,這時,我們需要用機器C去訪問資料庫,就需要用C通過ssh連線B,再訪問A。 通過pymysql連線mysql: import pymysql from

Python通過pypyodbc訪問Access資料庫

        看書上通過ODBC訪問資料庫的案例,想實踐一下在Python 3.6.1中實現access2003資料庫的連結,但是在匯入odbc模組的時候出現了問題,後來查了一些資料就嘗試著使用py

Python通過SSH隧道鏈接Kafka

available nobrokers kafka Python通過SSH隧道鏈接Kafka最近有一個需求需要連接Kafka,但是它只允許內網鏈接,但是有些服務跑在服務器上總沒有在我本機調試起來爽,畢竟很多開發工具還是在客戶端機器上用的熟練。於是我想到了通過SSH連接Kafka,至於怎麽連接可以通

使用frp通過ssh訪問公司內網機器

.gz 客戶 oca git 安裝包 公網 serve AR 公司 https://github.com/fatedier/frp/ github地址(具有中文文檔)從Release頁面下載安裝包本次是使用frp_0.20.0_linux_amd64.tar.gz版本通過S

Linux 中通過ssh訪問Github 設定

                         Linux   ssh訪問Github相關配置     如果在Linux t

java 資料視覺化(二)通過jdbc訪問資料庫,在servlet上獲取資料庫資料

想要通過servlet獲取資料庫資料,首先需要建立jdbc 因為資料是通過無線感測傳到資料庫的,因此jdbc裡只有查詢操作,增刪改的同學可以自行新增。 程式碼中被註釋掉的部分用於測試。 main函式部分用於檢測是否連線上資料庫,並檢測是否能讀到資料,若是讀得到

如何通過JDBC訪問資料庫

//資料庫連線的本質其實就是客戶端維持了一個和遠端MySQL伺服器的一個TCP長連線,並且在此連線上維護了一些資訊。 //socket是TCP/IP協議的API。其只是對TCP/IP協議棧操作的抽象

通過ssh訪問NAT網路模式虛擬機器裡的Linux

進入 GuestOS : #/sbin/ifconfig 檢視 inet addr : 10.0.2.15 然後到 HostOS 去, 看控制面板, 看網路和共享中心的VirtualBox Host-Only Network 的 ipv4 屬性的ip 地址:192.168.

Python通過ssh連線MySQL

機器A 通過機器B 登入機器C的MySQL   import pymysql from sshtunnel import SSHTunnelForwarder   server = SSHTunnelForwarder(  

使用JAVA程式碼通過SSH訪問遠端windows,獲取磁碟資訊

package ***; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader;

Linux通過SSH訪問中文亂碼問題(以secureCRT為例)

一般國內的例如阿里雲等伺服器安裝的Linux系統都不用修改Linux伺服器檔案的,我們可以直接修改secureCRT設定支援 1.開啟secureCRT 2.點選Options-->Sessi

Windows下使用Python通過ODBC/ADO訪問資料庫

關鍵詞:Python 資料庫 ODBC ADO Python的確是一個很好的指令碼語言,簡潔而且功能很強。可惜文件資料奇缺,最近學Python,手裡唯一 的一本《Python技術參考大全》已經過時很久了。想用Pytho

通過ssh 解決本地無法訪問內網資料庫的問題

如果資料庫和web伺服器在同一個內網,或者有IP白名單,而我們在本地卻沒辦法訪問資料庫,但是又很想通過客戶端連線資料庫方便操作。 那麼我們可以通過ssh進行埠轉發,在本地開一個埠,然後通過白名單的伺服器中轉資料庫連線。 ssh -fNL 3306:mysqlconnec

aliyun linux下寫python flask,無法通過瀏覽器訪問公網ip

tail 操作系統 結果 出現 blog mage linux下 ubunt 服務器 出現的問題是: 寫了一個基於flask框架的輸出helloworld的.py程序,是在aliyun服務器上寫的,基於ubuntu的操作系統。 寫的代碼是這樣的: 但是在瀏覽器訪問時

python通過下載連結可以下載成excel,直接將資料寫入資料庫

from urllib.request import urlopen import sys import datetime import psycopg2 import os # 用來操作資料庫的類 class GPCommand(object): # 類的初始化 def

快速瞭解通過SSH認證訪問伺服器

瞭解SSH SSH 以非對稱加密實現身份驗證。較常用的非對稱加密有 RSA。 兩種加密過程:   1、通過使用者名稱密碼訪問伺服器,即使傳輸的資料是加密的也可能會被劫持到不信任的伺服器,洩露使用者名稱和密碼。   2、通過將公鑰(用來加密和認證客戶端)放到信任的伺服器上來和伺服器傳輸密文。

Mac OS X 使用python urllib 模組 通過ssl訪問報錯 urllib.error.URLError

今天是我第一次使用python的urllib.request.openurl 功能獲取網頁資訊,程式碼如下 # 獲取網路檔案from urllib.request import urlopenwith urlopen(url='https://book.douban.com/subject/1005022/

使用python訪問資料庫

文章目錄 python中使用mysql的步驟 訪問資料庫的程式 利用python查詢資料庫 利用python對資料庫進行增刪改 引數化列表,防sql注入 sql注入 防sql注入 python中使

通過Grafana訪問Mysql/MariaDB -- Web端資料庫管理、分析、視覺化工具

前提條件: 首先保證已經安裝了Grafana資料視覺化管理平臺,訪問 http:your-ip-address:3000 , 預設賬戶 admin/admin 如果您不知道如何安裝Grafana管理平臺,可以檢視一下連結 資料視覺化元件Grafana詳細解讀--MacOSX上的安裝:ht

通過ssh遠端埠轉發使外網能訪問到內網機器

家裡有兩臺樹莓派平時在外面想訪問下   首先啟用伺服器端GatewayPort來使遠端網絡卡可以繫結,設定連線保持 vim /etc/ssh/sshd_config #修改以下屬性 GatewayPorts yes ClientAliveInterval 60 Client