当前位置:   article > 正文

python利用跳转机(ssh)链接 mysql数据库_python api call failed怎么解决在pathon中调用用ssh连接mysql

python api call failed怎么解决在pathon中调用用ssh连接mysql

背景:
很多时候我们在链接数据库时都会遇到用跳转机链接数据库的场景,本文将记录一下改如何操作。

首先安装sshtunnel模块,如果是在anaconda中用pip进行安装的话,可能会报错,如下:

ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问
  • 1

解决办法pip install sshtunnel 后面加上–user
接下来说一下如何链接数据库:

server =sshtunnel.SSHTunnelForwarder(
        ('*********',22),#作为跳转机的ip和端口
        ssh_username='***',#跳转机的用户名
        ssh_password='********',#对应的密码
        remote_bind_address=('***********',3306),#数据库的IP地址和端口
       # local_bind_address=('127.0.0.1', 3306)#端口可以自己设置,没有冲突即可,不加这个参数也可
)
server.start()
conn=pymysql.connect(host='127.0.0.1',# 必须为本机回环地址,原因会在下面写出
                     port=server.local_bind_port,
                     user='***',数据库用户名
                     password='***********',#数据库密码
                     # charset='utf-8',#编码方式
                     database='*****'#要查询的database)
cursor=conn.cursor()
sql='select * from z_test where id=17962'
cursor.execute(sql)
conn.commit()
print(cursor.fetchall())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

总结一下:
上述链接分为两部分,一、链接作为跳转机的服务器,并建立跳转机和目标数据库的远程访问。二、在跳转机的基础上通过数据库相关的各种参数访问数据库。
以上就是python ssh链接数据库的相关代码和步骤,另外还有一些需要注意的点:

1.写端口号的时候切记不要加引号!!!
2.最上面的那个连接信息一定是服务器的,不是数据库的!!!
3.绑定的本地端口号不一定非要是13306,只要没有端口冲突都行!!!
4.如果密码中有‘\’,切记一定要用‘\\’进行转义!!!
  • 1
  • 2
  • 3
  • 4

上述中出现不准确表述,欢迎留言讨论!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/222313?site
推荐阅读
相关标签
  

闽ICP备14008679号