首页 > 解决方案 > Python sshtunnel 模块无法连接 mysql db

问题描述

我正在尝试使用 python 模块“sshtunnel”通过 ssh 隧道连接 mysql db,但它会引发如下错误:

mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'sql_user_name'@'172.45.678.910' (使用密码: YES)

这是我的代码

import mysql.connector
import sshtunnel

with sshtunnel.SSHTunnelForwarder(
    (ssh_host,ssh_port),
    ssh_username = ssh_username,
    ssh_pkey = ssh_pkey_path,
    remote_bind_address=(sql_host, sql_port),
    local_bind_address=("127.0.0.1",8080)) as server:
        mydb = mysql.connector.connect(host=sql_host,user=sql_user_name,password=sql_pwd,db=db_name)
        myCursor = mydb.cursor()

我的用户名和密码是正确的,我可以使用相同的凭据和相同的 ssh 主机通过 sequal_pro 成功连接,那么为什么会在这里抛出错误?并且在错误消息中显示的 ssh_host('172.45.678.910') 也不同,我从不在代码中使用这个 ssh_host,在变量“ssh_host”中,ip 不同,我尝试了互联网上所有可用的解决方案,但可以不解决这个问题

标签: pythonpython-3.xsshmysql-pythonssh-tunnel

解决方案


推荐阅读