如何解决错误编号:“ ETIMEDOUT”,将gcloud mysql与Sails js连接时
[![在此处输入图片描述] [1]] [1]
我已经在gCloud中部署了节点sailsjs应用程序,并在gCloud中创建了mysql实例,但是我遇到了mysql连接错误。我已经在数据存储区对象到生产文件中的以下配置中进行了配置:
default: {
adapter: 'sails-mysql',host: 'xx.xxx.xxx.xxx',user:'root',password:'xxxx',database:'xxxx',port: 3306
}
但是我每次都会收到此错误:
错误:连接ETIMEDOUT [1]:https://i.stack.imgur.com/UOTeY.png
解决方法
根据错误消息看来,sails js应用未到达Cloud SQL服务器。
之所以会发生这种情况,是因为在Cloud SQL实例的授权网络上不允许使用客户端计算机的公用IP。
https://cloud.google.com/sql/docs/mysql/authorize-networks
-
转到Google Cloud Console中的Cloud SQL实例页面。
-
单击实例名称以打开其“实例详细信息”页面。
-
选择“连接”选项卡。
-
点击添加网络。
-
在“网络”字段中,输入要允许其连接的IP地址或地址范围。 ...
-
(可选)输入该条目的名称。
-
单击完成。
“如果您在Sails应用程序与MySQL交互时发现遇到“握手不活动超时”错误,则可以使用connectTimeout选项增加超时。通常仅在查询与计算并行运行时才需要昂贵的操作(例如,在开发过程中编译客户端打字稿文件或运行Webpack)。”
https://sailsjs.com/documentation/concepts/extending-sails/adapters/available-adapters
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。