【问题标题】:Superset Connect to a private databaseSuperset 连接到私有数据库
【发布时间】:2020-12-03 21:00:24
【问题描述】:

我有一个在私有 VPC 中运行的数据库。该数据库不可公开访问。超集是否支持通过 SSH 隧道连接到数据库?如果有的话,有任何文档链接吗?

【问题讨论】:

    标签: apache-superset


    【解决方案1】:

    我在文档中找不到它,但是使用 SSH 隧道,您基本上需要将 DB 主机更改为 127.0.0.1不是 localhost,因为这是为连接保留的关键字使用 MySQL 套接字),其他一切都应该相同。

    例如,我使用在host.example.com 上运行的 MySQL 数据库进行了测试。我首先创建了一个隧道,将我的本地端口 3336 重定向到 MySQL 的端口 3306(我这样做是因为我已经在 3306 上本地运行了 MySQL):

    ssh -N -L 3336:127.0.0.1:3306 host.example.com
    

    然后我可以使用这个 SQLAlchemy URI 将它添加到 Superset:

    mysql://username:password@127.0.0.1:3336/dbname
    

    【讨论】:

    • -N 标志是干什么用的?运行$ssh时我没有在使用列表中得到它
    • 在 Mac OS 上:“-N 不执行远程命令。这对于仅转发端口很有用。”
    【解决方案2】:

    这对我有用:

    ssh -i /path/key-pair_instance1.pem username_of_instance1@i-0123456789abcdefa -L 9090:ec2-198-51-100-2.compute-1.amazonaws.com:3306

    这里是source,还有进一步的解释。

    【讨论】:

      猜你喜欢
      • 2018-06-23
      • 2020-10-18
      • 2021-09-03
      • 2018-04-27
      • 2023-03-06
      • 2020-08-07
      • 2020-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多