您好,我需要远程连接到托管在家庭服务器上的SQL数据库的帮助。我可以使用终端连接好,但是当我尝试使用pycharm时,出现以下错误:
我遇到了“ remoteaddress不允许的Unix域套接字”错误。 我不确定我应该为Remote_server和Private_server以及最后一个host = ip输入哪个地址。如果有人可以帮忙阐明一些想法,那就太好了!
这里是我的代码:
import mysql.connector
import sshtunnel
with sshtunnel.SSHTunnelForwarder(
('REMOTE_SERVERIP', 3306),
ssh_username='darren',
ssh_password='darren',
remote_bind_address=('xxxxxxx'),
local_bind_address=('0.0.0.0')
) as tunnel:
connection = mysql.connector.connect(
user='darren',
password='darren',
host='xxxxxxx',
database='SalesFindr',
port=3306)
答案 0 :(得分:0)
根据文档,remote_bind_address() 必须是一个包含 IP 地址和端口的元组
<块引用>remote_bind_address(元组):
格式 (str
, int
) 的远程元组表示
隧道远端的IP和端口。
我们只能将 local_bind_address 的“Port”参数留空。
<块引用>local_bind_address(元组):
格式为 (str
, int
) 的本地元组表示
隧道本地端的IP和端口。中的两个元素
元组是可选的,所以 ('', 8000)
和
('10.0.0.1', )
是有效值
Default: ``('0.0.0.0', RANDOM_PORT)``
因此,在您的代码中,尝试 remote_bind_address=('xxxxxxx', 27018)
(或任何代替 27018 的自由端口)