我正在尝试通过我的一个google cloud函数上的ssh隧道连接到MySQL服务器。这在我的家庭环境中工作得很好。我假设这是云函数上的一些端口问题。
编辑:为了澄清,MySQL服务器位于Namecheap共享主机web服务器上。不是Google Cloud SQL
每次运行此命令时,我都会超时,并显示“未知错误”。隧道似乎成功。但是,我无法使mysql连接正常工作。
import base64
import sshtunnel
import mysql.connector
def testing(event, context):
"""
Testing function
"""
with sshtunnel.SSHTunnelForwarder(
("server address", port),
ssh_username="user",
ssh_password="password",
remote_bind_address=("127.0.0.1",3306),
) as server:
print(server.local_bind_port)
with mysql.connector.connect(
user="user",
password="password",
host="localhost",
database="database",
port=server.local_bind_port
) as connection:
print(connection)

发布于 2020-11-10 02:54:39
要列出的步骤太多了,但我想知道“连接器”设置是否对SSH也有影响。也许你必须创建一个连接器,如here所示(请注意“私有IP”选项卡中的说明与本地计算机上的说明是如何不同的)。然后,配置Cloud Functions以使用该连接器。确保您也使用了正确的端口。
无服务器私有网络访问连接器处理与您的私有网络的通信。如需内网IP专线,您需要:
使用实例的内网IP和端口3306进行
请记住,这个“未知”错误也很可能是由于云SQL Admin API未在here中启用。事实上,确保你关注整个页面,因为这是一个宽泛的问题。
让我们知道是什么导致了这种类型的错误。
https://stackoverflow.com/questions/64703736
复制相似问题