python通过跳板机访问远程数据库

from sshtunnel import SSHTunnelForwarder
import pymysql


with SSHTunnelForwarder(
    ssh_address_or_host=('124.xx.xx.xx', 22),
    ssh_password='xxxxxxx',
    ssh_username='root',
    remote_bind_address=('192.168.0.237', 3306)
) as server:
    print(server.local_bind_port)
    con = pymysql.connect('127.0.0.1', 'xx', 'xxx3456!', 'faims', server.local_bind_port)
    # 连接mysql服务的ip地址改为 127.0.0.1,端口改为跳板机映射的端口 server.local_bind_port
    cursor = con.cursor()
    cursor.execute('show tables;')
    print(cursor.fetchall())
    cursor.close()

问题:
1045, “Access denied for user ‘root’@‘192.168.0.169’ (using password: YES)”
不能使用root用户进行远程登录,需要创建一个可以访问的其它用户账号

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python可以通过不同的方式远程访问数据库。其中一种常见的方式是使用Python数据库模块来建立与远程数据库连接。 首先,确保你已经安装了相应的数据库模块(例如pymysql、psycopg2等)。接下来,需要提供数据库服务器的相关信息,如主机名、端口号、用户名和密码等。根据你使用数据库类型,可以使用相应的函数来建立连接,如pymysql.connect()或psycopg2.connect()。 以下是一个使用pymysql模块连接MySQL数据库的示例: ```python import pymysql # 提供数据库服务器的相关信息 host = 'localhost' port = 3306 user = 'username' password = 'password' database = 'database_name' # 建立与数据库连接 connection = pymysql.connect(host=host, port=port, user=user, password=password, database=database) # 创建一个游标对象 cursor = connection.cursor() # 执行SQL查询 sql = 'SELECT * FROM table_name;' cursor.execute(sql) # 获取查询结果 results = cursor.fetchall() # 输出查询结果 for row in results: print(row) # 关闭游标和连接 cursor.close() connection.close() ``` 当连接成功后,就可以使用游标对象执行SQL查询或操作数据库。通过执行execute()函数可以执行SQL语句,并使用fetchall()函数获取查询结果。 需要注意的是,为了安全起见,确保在连接数据库使用正确的用户名和密码,并限制只允许特定IP地址访问数据库服务器。另外,远程访问数据库可能需要在防火墙或路由器上进行相应的设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值