资讯专栏INFORMATION COLUMN

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

89542767 / 318人阅读

  本文关键给大家介绍了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

    ...下面命令,查看你已经设置的别名: $ alias 5. 使用 MySQL 8 据库 MySQL是一个关系型据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型据库管理系统之一,在 WEB 应用方面,MySQL是最好的...

    Turbo 评论0 收藏0
  • CentOS 下使用 Pipenv + Gunicorn + Supervisor 部署 Flask

    ...下面命令,查看你已经设置的别名: $ alias 5. 使用 MySQL 8 据库 MySQL是一个关系型据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型据库管理系统之一,在 WEB 应用方面,MySQL是最好的...

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

    ...t说明:也可执行service sshd restart命令,重启SSH服务。使用Python自带的Web服务器创建临时的监听端口进行测试。python -m SimpleHTTPServer [$Port]如果ECS安全组规则中未放行修改后的端口号,需要将修改后的端口号添加到ECS安全组规则中...

    Tecode 评论0 收藏0
  • 远程服务连接工具—FinallShell

    ...,支持自动补全,命令历史 20.自定义命令参数功能,可动态根据输入参数生成命令 21.可设置终端背景图片,并拥有动态背景模糊,文字阴影效果. 22.一键查看各种系统信息 四、下载安装 【1】Windows版 下载地址: http://www.hostbuf.com/downl...

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

    ...的方法,同时也是极力推崇的方式,能用 SSH 就尽量不用远程桌面,因为远程桌面极其耗费带宽资源。 相较于远程桌面SSH 不会打开图形界面,而是通过你本地电脑的 SHELL 类软件,直接连接到服务器的 SHELL,你在本地输入任何...

    flyer_dev 评论0 收藏0

发表评论

0条评论

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