.我使用SSH隧道,并希望使用
我通过SSH隧噵访问远程数据库.
否则,我只连接到本地MySQL数据库.
请告诉我,有没有办法使用SQLAlchemy来做到这一点.
这个问题的经典答案是使用127.0.0.1或主机的IP或主机名而不是“特殊名称”localhost.从
但是,这个简单的技巧在您的情况下似乎不起作用,因此您必须以某种方式强制使用TCP套接字.正如您自己解释的那样,在命令行上調用mysql时,您使用–protocol tcp选项.
如所述,从SQLAlchemy,您可以将相关选项(如果有)作为URL选项或使用connect_args关键字参数传递给驱动程序.
正如您所注意到的,两者都将使用TCP连接(我知道因为主机名后的端口号).另一方面:
主机名后没有端口:这是一个UNIX套接字.