最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python基于ssh遠程連接Mysql數(shù)據(jù)庫操作

 更新時間:2022年06月23日 11:50:34   作者:數(shù)據(jù)人阿多  
這篇文章主要為大家介紹了Python基于ssh遠程連接Mysql數(shù)據(jù)庫操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

背景

如果需要訪問遠程服務器的Mysql數(shù)據(jù)庫,但是該Mysql數(shù)據(jù)庫為了安全期間,安全措施設置為只允許本地連接(也就是你需要登錄到該臺服務器才能使用),其他遠程連接是不可以直接訪問,并且相應的端口也做了修改,那么就需要基于ssh來連接該數(shù)據(jù)庫。這種方式連接數(shù)據(jù)庫與Navicat里面界面化基于ssh連接一樣。

Navicat

連接數(shù)據(jù)庫

安裝支持庫

  • 如果要連接Mysql,首先需要安裝pymysql
pip install pymysql
  • 安裝基于ssh的庫sshtunnel
pip install sshtunnel    #當前最新 0.3.1版

建議安裝最新的sshtunnel庫,舊版本庫有一些bug

連接Mysql

基于ssh連接Mysql可以查看sshtunnel的文檔,里面有一些案例

with SSHTunnelForwarder(
        ('192.168.1.1', 2222),
        ssh_password='123456',
        ssh_username='root',
        remote_bind_address=('127.0.0.1', 3306)) as server:
    print('SSH連接成功')
    conn = pymysql.connect(host='127.0.0.1',
                           port=server.local_bind_port,
                           user='root',
                           database='data',
                           charset='utf8')
    print('mysql數(shù)據(jù)庫連接成功')
    cursor = conn.cursor()
    ...  #獲取數(shù)據(jù)操作,此處省略
    cursor.close()
    conn.close()

自定義查詢函數(shù)

可以對上面的連接進行封裝為一個函數(shù),方便其他地方使用

def mysql_ssh(sql,args=None):
    with SSHTunnelForwarder(
            ('192.168.1.1', 2222),
            ssh_password='123456',
            ssh_username='root',
            remote_bind_address=('127.0.0.1', 3306)) as server:
        print('SSH連接成功')
        conn = pymysql.connect(host='127.0.0.1',
                               port=server.local_bind_port,
                               user='root',
                               database='data',
                               charset='utf8')
        print('mysql數(shù)據(jù)庫連接成功')
        cursor = conn.cursor()
        print('游標獲取成功')
        try:
            print(f'執(zhí)行查詢語句:{sql}  參數(shù):{args}')
            cursor.execute(sql,args)
            print('數(shù)據(jù)查詢成功')
            conn.commit()
            print('事務提交成功')
            datas = cursor.fetchall()
            success = True
        except:
            print('數(shù)據(jù)查詢失敗')
            datas = None
            success = False
        print('正在關閉數(shù)據(jù)庫連接')
        cursor.close()
        conn.close()
    return datas, success

注意點:

  • 在使用數(shù)據(jù)庫時,conn.commit()、cursor.close()、conn.close()這些一定要規(guī)范使用,防止不必要的bug
  • 傳入?yún)?shù)時建議用這種方式cursor.execute(sql,args),防止sql注入的風險

相關參考:

Python加載txt數(shù)據(jù)亂碼問題升級版解決方法

Python文件打包成exe可執(zhí)行程序

以上就是Python基于ssh遠程連接Mysql數(shù)據(jù)庫操作的詳細內(nèi)容,更多關于Python ssh遠程連接Mysql的資料請關注腳本之家其它相關文章!

相關文章

  • python文字和unicode/ascll相互轉換函數(shù)及簡單加密解密實現(xiàn)代碼

    python文字和unicode/ascll相互轉換函數(shù)及簡單加密解密實現(xiàn)代碼

    這篇文章主要介紹了python文字和unicode/ascll相互轉換函數(shù)及簡單加密解密實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • python實現(xiàn)圖片九宮格分割的示例

    python實現(xiàn)圖片九宮格分割的示例

    這篇文章主要介紹了python實現(xiàn)圖片九宮格分割的示例,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下
    2021-04-04
  • 搞笑的程序猿:看看你是哪種Python程序員

    搞笑的程序猿:看看你是哪種Python程序員

    這篇文章主要介紹了搞笑的程序猿:看看你是哪種Python程序員,不久前,在互聯(lián)網(wǎng)上出現(xiàn)了一篇有趣的文章,講的是對于同一個問題,不同層次的Python程序員編出的Python代碼,顯示出了不同的風格,代碼都很簡單,有趣,需要的朋友可以參考下
    2015-06-06
  • Django超詳細講解圖書管理系統(tǒng)的實現(xiàn)

    Django超詳細講解圖書管理系統(tǒng)的實現(xiàn)

    前段時間翻文件發(fā)現(xiàn)了以前學習python和django時做的一個系統(tǒng),當時的想法是將這玩意做出來應付web開發(fā)大作業(yè)、課程設計作業(yè)甚至是畢設用的,實際上也確實應付了課程設計,功能雖然不算多,但是應付課程設計或者大作業(yè)綽綽有余了
    2022-07-07
  • python輸入整條數(shù)據(jù)分割存入數(shù)組的方法

    python輸入整條數(shù)據(jù)分割存入數(shù)組的方法

    今天小編就為大家分享一篇python輸入整條數(shù)據(jù)分割存入數(shù)組的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python爬取某拍短視頻

    Python爬取某拍短視頻

    現(xiàn)在短視頻可謂是一騎絕塵,吃飯的時候、休息的時候、躺在床上都在刷短視頻,今天給大家?guī)韕ython爬蟲進階 :美拍視頻地址加密解析,需要的朋友可以參考下
    2021-06-06
  • Python常用模塊函數(shù)代碼匯總解析

    Python常用模塊函數(shù)代碼匯總解析

    這篇文章主要介紹了Python常用模塊函數(shù)代碼匯總解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Python 異步之生成器示例詳解

    Python 異步之生成器示例詳解

    這篇文章主要為大家介紹了Python 異步之生成器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 用python畫了個圣誕樹給女朋友

    用python畫了個圣誕樹給女朋友

    大家好,本篇文章主要講的是用python畫了個圣誕樹給女朋友,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Python實現(xiàn)比較撲克牌大小程序代碼示例

    Python實現(xiàn)比較撲克牌大小程序代碼示例

    這篇文章主要介紹了Python實現(xiàn)比較撲克牌大小程序代碼示例,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12

最新評論

德兴市| 苏尼特左旗| 芜湖市| 砚山县| 甘谷县| 漠河县| 虞城县| 灵川县| 普格县| 当阳市| 甘洛县| 莱阳市| 棋牌| 临泽县| 耒阳市| 白城市| 大厂| 博湖县| 花莲市| 尉犁县| 庆元县| 芒康县| 曲阜市| 海盐县| 岗巴县| 南城县| 中卫市| 渝北区| 屏东市| 高淳县| 郸城县| 固阳县| 瑞昌市| 白玉县| 怀柔区| 亳州市| 阳西县| 义乌市| 泰安市| 孝昌县| 霸州市|