首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将datalab与Google Cloud SQL连接?

如何将datalab与Google Cloud SQL连接?
EN

Stack Overflow用户
提问于 2018-05-23 01:20:47
回答 2查看 1.3K关注 0票数 1

尝试从datalab笔记本电脑与托管在Google Cloud SQL上的PostgreSQL数据库进行连接。尝试直接IP和实例连接方式,但两者都有例外。

专线URI:

代码语言:javascript
运行
复制
"{engine}://{user}:{password}@{host}:{port}/{database}"

使用gcloud sql connect

代码语言:javascript
运行
复制
"{engine}://{user}:{password}@/{database}?host=/cloudsql/{instance_connection_name}"

两者都给了我们这样的例外:

代码语言:javascript
运行
复制
OperationalError: (psycopg2.OperationalError) could not connect to 
server: Connection timed out
  Is the server running on host "***.***.***.***" and accepting
  TCP/IP connections on port ****?

你知道它是否需要像Collab proxy connection中那样的云sql代理吗?如果需要,如何使用datalab库来实现呢?

EN

回答 2

Stack Overflow用户

发布于 2018-05-24 20:13:20

我终于明白了。

假设datalab VM已经在Gcloud上进行了身份验证,我尝试使用cloud_sql_proxy进行连接,而不使用出现在Collab proxy connection上的auth python命令,并通过创建缺少的目录来修复仍然出现的错误。是的,我得到了这个:

代码语言:javascript
运行
复制
!wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
!mkdir -p /cloudsql
!chmod +x cloud_sql_proxy

代码语言:javascript
运行
复制
!./cloud_sql_proxy --instances=project-id:europe-west1:posty --dir /cloudsql

与Collab解决方案一样,我们需要让notebook在备用窗口中运行以保持代理。对于同一台机器上的其他笔记本,我们最终获得了对数据库的访问权限。

注意:也许一个更好的解决方案是编辑datalab机器的docker镜像,以包括here所指出的这种行为。

票数 2
EN

Stack Overflow用户

发布于 2018-05-23 14:44:48

可能是您的虚拟机ip未被列入数据库白名单。

您可以在google云控制台SQL > yor_database > authorization中访问该列表并添加新的ips。

有关详细信息https://cloud.google.com/sql/docs/mysql/connect-external-app?hl=en_US&_ga=2.178999533.-851571953.1521816449#appaccessIP,请查看此链接

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50473308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档