mysql外部数据 Package 器:对ssl连接使用ssh参数?

axr492tv  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(282)

这可能是一个非常罕见的用例,但我要做的是:
从postgresql数据库连接到mysql数据库(我的网站),创建一个从mysql数据库获取网站用户信息的外部表。
所以到目前为止,我所做的是为postgresql安装mysql外部数据 Package 器(fdw),并尝试设置外部服务器。问题是,webhost只允许ssh访问数据库,而mysql\u fdw只接受额外的ssl参数:

{ "ssl_key",        ForeignServerRelationId },
{ "ssl_cert",       ForeignServerRelationId },
{ "ssl_ca",         ForeignServerRelationId },
{ "ssl_capath",     ForeignServerRelationId },
{ "ssl_cipher",     ForeignServerRelationId }

所以我的问题是,我是否可以使用ssh登录凭据(ssh user/pw或密钥对)来生成必要的ssl参数?
有人知道如何做到这一点吗?
谢谢并致以亲切的问候,
迈克尔

r9f1avp5

r9f1avp51#

几乎可以肯定的是,您没有通过ssh访问mysql。您所做的是通过ssh访问它所在的服务器,然后连接到mysql。您可以通过运行mysql命令行客户机或将端口转发到本地计算机来实现这一点。
所以-如果你想从你的postgresql服务器连接到mysql,它需要可以从互联网上访问。你应该在防火墙上为mysql的端口打开postgresql的ip地址。然后,mysql上的grant语句也可以让用户登录到该远程主机名。仅此远程连接有一个单独的用户。
还可能需要来自postgresql连接的已知客户端证书。这将进一步确保访问安全。
现在-可能您使用的服务根本不允许远程mysql访问。在这种情况下,您要么需要设置一个永久的ssh隧道(fiddly,当连接断断续续中断时可能会导致问题),要么从mysql端推送数据。

相关问题