返回顶部
首页 > 资讯 > 数据库 >Python基于ssh远程连接Mysql数据库操作
  • 199
分享到

Python基于ssh远程连接Mysql数据库操作

Python ssh远程连接MysqlPython连接Mysql 2022-06-23 13:06:06 199人浏览 独家记忆
摘要

目录背景安装支持库连接Mysql自定义查询函数背景 如果需要访问远程服务器的mysql数据库,但是该Mysql数据库为了安全期间,安全措施设置为只允许本地连接(也就是你需要登录到该台服务器才能使用),其他远程连接是不可以

背景

如果需要访问远程服务器mysql数据库,但是该Mysql数据库为了安全期间,安全措施设置为只允许本地连接(也就是你需要登录到该台服务器才能使用),其他远程连接是不可以直接访问,并且相应的端口也做了修改,那么就需要基于ssh来连接该数据库。这种方式连接数据库与Navicat里面界面化基于ssh连接一样。

Python基于ssh远程连接Mysql数据库操作

Navicat

Python基于ssh远程连接Mysql数据库操作

连接数据库

安装支持库

  • 如果要连接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数据库连接成功')
    cursor = conn.cursor()
    ...  #获取数据操作,此处省略
    cursor.close()
    conn.close()

自定义查询函数

可以对上面的连接进行封装为一个函数,方便其他地方使用

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数据库连接成功')
        cursor = conn.cursor()
        print('游标获取成功')
        try:
            print(f'执行查询语句:{sql}  参数:{args}')
            cursor.execute(sql,args)
            print('数据查询成功')
            conn.commit()
            print('事务提交成功')
            datas = cursor.fetchall()
            success = True
        except:
            print('数据查询失败')
            datas = None
            success = False
        print('正在关闭数据库连接')
        cursor.close()
        conn.close()
    return datas, success

注意点:

  • 在使用数据库时,conn.commit()cursor.close()conn.close()这些一定要规范使用,防止不必要的bug
  • 传入参数时建议用这种方式cursor.execute(sql,args),防止sql注入的风险

相关参考:

python加载txt数据乱码问题升级版解决方法

Python文件打包成exe可执行程序

以上就是Python基于ssh远程连接Mysql数据库操作的详细内容,更多关于Python ssh远程连接Mysql的资料请关注我们其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: Python基于ssh远程连接Mysql数据库操作

本文链接: https://lsjlt.com/news/33032.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python基于ssh远程连接Mysql数据库操作
    目录背景安装支持库连接mysql自定义查询函数背景 如果需要访问远程服务器的Mysql数据库,但是该Mysql数据库为了安全期间,安全措施设置为只允许本地连接(也就是你需要登录到该台服务器才能使用),其他远程连接是不可以...
    99+
    2022-06-23
    Python ssh远程连接Mysql Python连接Mysql
  • Python基于ssh远程怎么连接Mysql数据库
    这篇文章主要介绍“Python基于ssh远程怎么连接Mysql数据库”,在日常操作中,相信很多人在Python基于ssh远程怎么连接Mysql数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python基...
    99+
    2023-07-02
  • python连接数据库操作MySQL
    参考:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001391435131816c6...
    99+
    2024-04-02
  • Python连接Postgres/Mysql/Mongo数据库基本操作
    这篇文章主要介绍“Python连接Postgres/Mysql/Mongo数据库基本操作”,在日常操作中,相信很多人在Python连接Postgres/Mysql/Mongo数据库基本操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
    99+
    2023-06-20
  • python通过远程连接mysql数据库进行操作
    文章目录 前言一、开启远程访问权限1、开启远程访问端口2、命令行登录mysql 二、Navicat 建库1、新建连接2、建库建表 三、python对数据库进行远程操作三、总结四、参考资...
    99+
    2023-09-20
    数据库 python mysql
  • Python连接Postgres/Mysql/Mongo数据库基本操作大全
    目录1、连接PG库2、连接MySQL2.1 连接数据库2.2 创建数据库和表2.3 插入数据2.4 数据库查询操作2.5 数据库更新操作2.6 删除数据操作3、连接Mongo库3.1...
    99+
    2024-04-02
  • Linux---连接mysql数据库以及基本操作
    文章目录 一、连接MySQL二、MySQL的基本操作1.查询已有数据库2.创建数据库3.选定数据库4.查询数据库下的表5.查询表结构6.查询当前用户7.查询当前选择数据库8.删除数据库9.创建表10.插入表数据11.查询表数据12....
    99+
    2023-08-24
    数据库 mysql linux
  • MYSQL远程连接数据库
    今天一个多年的朋友找到我,说MYSQL 怎么远程数据库,我们一般的情况下。会把业务系统服务器和数据库服务器是分开的。所以涉及到远程连接MYSQL服务器。下面我来介绍如何解决这个问题。1. 授权法。你想用户使...
    99+
    2024-04-02
  • Golang连接并操作PostgreSQL数据库基本操作
    目录前言:连接数据库sql.DB增删改查插入数据更新数据查询数据删除数据总结前言: 本篇文章对如何使用golang连接并操作postgre数据库进行了简要说明。文中使用到的主要工具:DBeaver21、VSCode,Go...
    99+
    2024-04-02
  • SPSS连接mysql数据库详细操作教程
    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬...
    99+
    2023-09-02
    数据分析 数据库 mysql
  • Node.js数据库操作之连接MySQL数据库(一)
    介绍 首先说来介绍一下MySQL(非广告)。MySQL是由瑞典的MySQL AB公司开发,后来被甲骨文公司收购。和Oracle一样,MySQL是一个典型的关系型数据库,在百度百科中,把MySQL称为是最好的...
    99+
    2022-06-04
    数据库 操作 Node
  • Python远程SSH库Paramiko详细操作
    目录核心组件SSHClient常用方法SFTPClient常用方法使用示例SSH私钥创建SSHClient运行命令SFTPClient下载文件paramiko是用python语言写的...
    99+
    2024-04-02
  • python-对于mysql数据库的操作
    python操作mysql数据库 问题:DDL,DCL,DML的区别? 语言与框架:jdbc/odbc操作数据库    java(ibatis/hibernate/jpa)操作数据库 客户端工具:navicat for mysql   步...
    99+
    2023-01-30
    操作 数据库 python
  • Python 连接mysql数据库进行操
    1.MySQLdb 模块是用于Python链接Mysql数据库的接口,默认是没有安装的[root@python ~]# yum  install  MySQL-python   -y2.创建python脚本[root@python ~]# ...
    99+
    2023-01-31
    数据库 Python mysql
  • 使用Python连接并操作mysql数据库方法
    下面讲讲关于使用Python连接并操作mysql数据库方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完使用Python连接并操作mysql数据库方法这篇文章你一定会有所受益。...
    99+
    2024-04-02
  • Python基础之操作MySQL数据库
    目录一、数据库操作1.1 安装PyMySQL1.2 连接数据库1.3 创建数据表1.4 插入,查询数据1.5 更新,查询数据1.6 删除,查询数据二、连接与游标对象的方法2.1 连接...
    99+
    2024-04-02
  • Python操作mysql数据库(封装基
    新学Python,在这里分享操作mysql的全过程 1、安装MySQL-python-1.2.3.win-amd64-py2.7.exe,这是操作mysql数据库的python库,有32位和64位之分,看自机器下载 2、64位机器安装My...
    99+
    2023-01-31
    操作 数据库 Python
  • 利用Python连接Oracle数据库的基本操作指南
    这里我们采用的是使用Oracle数据库进行相关操作 在连接数据库之间,应下载相应的工具包cx_Oracle,在你安装的python文件夹中找到script,在路径栏点击输入cmd回车进入命令行输入 pip instal...
    99+
    2022-06-13
    python如何连接oracle python 连接oracle Python操作oracle数据库
  • 如何远程连接mysql数据库
    这期内容当中小编将会给大家带来有关如何远程连接mysql数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。如何远程连接mysql数据库我们可以使用navicat来远程连...
    99+
    2024-04-02
  • Navicat 连接远程数据库 Postgresql、MySQL
    不管什么数据库,只要用Navicat连接远程,下面的方法均奏效。 环境: 服务器:远程服务器 操作系统: : linux 数据库:PostgreSQL14 数据库客户端:Navicat 主要分为两步: 第一步:点击Navicat左上角的“连...
    99+
    2023-09-01
    服务器 运维 数据库 postgresql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作