资讯专栏INFORMATION COLUMN

Python根据ssh远程桌面连接Mysql数据库操作

89542767 / 822人阅读

  本文关键给大家介绍了Python根据ssh远程桌面连接Mysql数据库操作实例详细说明,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽早涨薪


  环境


  如果有需要浏览虚拟服务器的Mysql数据库系统,但是该Mysql数据库系统为了安全起见期内,安全保护措施设为只可以宽带连接(也就是说你需要验证到该台网络服务器才能进行),别的远程桌面连接是不能够访问外网,而且对应的端口号都做了改动,那就需要根据ssh来联接该数据库系统。这种方法数据库服务器与Navicat里边页面化根据ssh联接相同。

01.png

02.png

  数据库服务器


  组装支持库


  如果想联接Mysql,首先要组装pymysql

  pipinstallpymysql


  组装根据ssh的库sshtunnel

  pipinstallsshtunnel#现阶段全新0.3.1版


  提议组装最新sshtunnel库,旧版库也有一些bug


  联接Mysql


  根据ssh联接Mysql可以查询sshtunnel的文本文档,里边也有一些实例


  withSSHTunnelForwarder(
  ('192.168.1.1',2222),
  ssh_password='123456',
  ssh_username='root',
  remote_bind_address=('127.0.0.1',3306))asserver:
  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()
  自定查看函数公式
  能够对上边的联接开展封装形式为一个函数,便捷别的地方应用
  defmysql_ssh(sql,args=None):
  withSSHTunnelForwarder(
  ('192.168.1.1',2222),
  ssh_password='123456',
  ssh_username='root',
  remote_bind_address=('127.0.0.1',3306))asserver:
  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()
  returndatas,success


  注意事项:


  在操作数据库时,conn.commit()、cursor.close()、conn.close()这种必须要正确使用,避免不必要bug


  调用方法时提议通过这种方式cursor.execute(sql,args),避免sql注入风险


  综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/130278.html

相关文章

  • CentOS 下使用 Pipenv + Gunicorn + Supervisor 部署 Flask

    摘要:根据中华人民共和国信息产业部第十二次部务会议审议通过的非经营性互联网信息服务备案管理办法精神,在中华人民共和国境内提供非经营性互联网信息服务,应当办理备案。未经备案,不得在中华人民共和国境内从事非经营性互联网信息服务。 当我们开发了一个简单的 Flask 程序,想把项目部署上线,我们可以选择传统的部署方式或者云部署方式把项目部署上线。在本文中,笔者将使用 阿里云轻量应用服务器 安装 C...

    anyway 评论0 收藏0
  • 云服务器无法远程连接?4步排查,准能解决!

    摘要:今天百晓生就阿里云服务器无法远程连接的问题,分享一波运维必备的问题排查方法,说明以下操作在位操作系统中进行过测试。确认公网带宽是否不足无法远程连接可能是公网带宽不足导致的,具体排查方法如下登录管理控制台。在运维工程师的日常工作中,经常需要登录到服务器上对应用部署和维护,配置修改是很常规操作。但是在日常运维工作中,经常也会遭遇滑铁卢,当出现无法远程连接服务器的时候,我们需要沉着冷静,耐心分析报...

    Tecode 评论0 收藏0
  • Connect Server via SSH

    摘要:文件传输方法参照文章。系统中,需要安装软件才可以比较方便的使用,在此推荐这个软件。另外一个操作就是打开文件管理器查看图片。你在右侧这个黑色背景的命令行中,输入,会发现,弹出来一个和服务器一样的文件管理器,在这里就可以查看图片了必须打勾。 Connect Server via SSH2018/08/11 geo SSH 是非常方便的一种连接服务器的方法,同时也是极力推崇的方式,能用 SS...

    flyer_dev 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<