我尝试使用创建SSH隧道
ssh -L 3306:localhost:22 <hostip>
Run Code Online (Sandbox Code Playgroud)
然后运行我的python脚本通过localhost连接
conn = MySQLdb.connect(host'localhost', port=3306, user='bob', passwd='na', db='test')
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误
(2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)")
Run Code Online (Sandbox Code Playgroud)
我怎样才能确保我找到正确的主机而不仅仅是绑定的一些问题?
我对 Pyspark 这种奇怪的行为感到困惑,但在互联网上找不到任何东西。
我们在专用网络中有一个 MySQL 集群,可以通过 SSH 隧道访问它。我正在尝试使用 Pyspark 和 SSHTunnelForwarder 从该数据库读取数据,我这样做是这样的:
server = SSHTunnelForwarder(
(target_tunnel_ip_address, 22),
ssh_username=tunnel_username",
ssh_private_key=private_key_filepath",
remote_bind_address=(mysql_address, 3306)
)
server.start()
Run Code Online (Sandbox Code Playgroud)
hostname = "localhost" #Because I forwarded I forwarded the remote port to my localhost
port = server.local_bind_port #To access which port the SSHTunnelForwarder used
username = my_username
password = my_password
database = my_database
jdbcUrl = "jdbc:mysql://{}:{}/{}?user={}&password={}".format(hostname, port, database, username, password)
Run Code Online (Sandbox Code Playgroud)
data = spark.read \
.format("jdbc") \
.option("url", jdbcUrl) \
.option("driver", "com.mysql.cj.jdbc.Driver") \ …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用django连接到远程mysql数据库.
该文档指定首先需要打开SSH隧道才能连接到数据库.
是否有一个python库可以在设置某些设置时打开SSH隧道?