从VM实例访问远程MySQL数据库

时间:2018-09-27 01:41:39

标签: mysql node.js virtual-machine

我一直在使用Node App,并从Google Cloud部署到VM实例。现在,当我尝试连接到RDS(远程数据库)时,它将标记为connect ETIMEOUT。一种解决方案是创建防火墙规则,该规则可以访问数据库,但仍然无法正常工作。请问是否有其他解决方案?

无法执行请求。错误:连接ETIMEDOUT

2 个答案:

答案 0 :(得分:0)

要连接到云数据库,您必须确保以下几点:

  • 云数据库外部端口已打开
  • 云数据库设置为接收外部连接
  • 您使用的是外部ip,而不是内部ip
  • 数据库的mysql conf允许外部连接
  • 云数据库已联机,可以接受传入的连接
  • 您的节点环境可以接受所述端口上的连接

要调试此问题,建议您使用命令行客户端或专用的mysql客户端而不是节点应用程序。这样,您就可以测试云系统,而无需考虑节点系统。

答案 1 :(得分:0)

如果您遵循此页面中的步骤,则可以通过外部连接访问Google云实例数据库:

https://cloud.google.com/sql/docs/mysql/connect-admin-ip#configure-instance-mysql

基本上,您需要管理数据库实例(https://console.cloud.google.com/sql/instances),并允许来自已知IP(您的计算机公共IP地址)作为授权网络的外部连接。