Superset 连接到私有数据库
Posted
技术标签:
【中文标题】Superset 连接到私有数据库【英文标题】:Superset Connect to a private database 【发布时间】:2020-12-03 21:00:24 【问题描述】:我有一个在私有 VPC 中运行的数据库。该数据库不可公开访问。超集是否支持通过 SSH 隧道连接到数据库?如果有的话,有任何文档链接吗?
【问题讨论】:
【参考方案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,还有进一步的解释。
【讨论】:
以上是关于Superset 连接到私有数据库的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法为Superset提供apache Solr后端?
在使用私有 IP 连接到云 sql 的云构建上运行数据库迁移