【问题标题】:Error: connect ECONNREFUSED 127.0.0.1:3306 when using cloud sql for MYSQL from NodeJS app错误:从 NodeJS 应用程序使用 Cloud sql for MYSQL 时连接 ECONNREFUSED 127.0.0.1:3306
【发布时间】:2018-03-19 22:13:03
【问题描述】:

我遵循了sample app link 中提到的所有步骤。 GitHubLink。运行脚本(npm run init-cloudsql)初始化mysql数据库时,出现以下错误:

D:\gcloud\nodejs-getting-started\2-structured-data\books\model-cloudsql.js:143
    throw err;
    ^
Error: connect ECONNREFUSED 127.0.0.1:3306
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
--------------------
at Protocol._enqueue (D:\gcloud\nodejs-getting-started\2-structured- data\node_modules\mysql\lib\protocol\Protocol.js:145:48)                                                                                                          
at Protocol.handshake (D:\gcloud\nodejs-getting-started\2-structured-data\node_modules\mysql\lib\protocol\Protocol.js:52:23)                                                                                                                
at Connection.connect (D:\gcloud\nodejs-getting-started\2-structured-data\node_modules\mysql\lib\Connection.js:130:18)                                                                                                                
at Connection._implyConnect (D:\gcloud\nodejs-getting-started\2-structured-data\node_modules\mysql\lib\Connection.js:461:10)                                                                                                                
at Connection.query (D:\gcloud\nodejs-getting-started\2-structured-data\node_modules\mysql\lib\Connection.js:206:8)                                                                                                               
at createSchema (D:\gcloud\nodejs-getting-started\2-structured-data\books\model-cloudsql.js:126:14)                                                                                                              
at prompt.get (D:\gcloud\nodejs-getting-started\2-structured-data\books\model-cloudsql.js:117:5)                                                                                                              
at D:\gcloud\nodejs-getting-started\2-structured-data\node_modules\prompt\lib\prompt.js:336:32                                                                                                            
at D:\gcloud\nodejs-getting-started\2-structured-data\node_modules\utile\node_modules\async\lib\async.js:154:25                                                                                                            
at assembler (D:\gcloud\nodejs-getting-started\2-structured-data\node_modules\prompt\lib\prompt.js:333:9)  

我错过了什么?我无法解决此错误。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 该错误表明 Cloud SQL 代理未在您的实例上正确运行。请分享./cloud_sql_proxy -instances="[YOUR_INSTANCE_CONNECTION_NAME]"=tcp:3306 的输出以帮助我们找出原因。也许也可以尝试添加-verbose 以收集更多信息。
  • 修复问题后:>> D:\>cloud_sql_proxy.exe -instances="gmailenhancer-182114:asia-east1:gmail-enhancer"=tcp:3306 2017/10/09 12:02 :10 在 127.0.0.1:3306 收听 gmailenhancer-182114:asia-east1:gmail-enhancer 2017/10/09 12:02:10 准备好新的连接
  • 但是,连接云sql数据库时出现以下错误->> '2017/10/09 12:35:07 Throttling refreshCfg(gmailenhancer-182114:asia-east1:gmail-enhancer ):它仅在 2017/10/09 12:35:07 前称为 21.0262008 无法连接到“gmailenhancer-182114:asia-east1:gmail-enhancer”:拨打 tcp 35.194.177.25:3307:connectex:连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。'

标签: google-cloud-platform google-cloud-sql google-api-nodejs-client cloud-sql-proxy


【解决方案1】:

您需要将您的 IP 列入白名单才能访问 Cloud SQL。 https://cloud.google.com/sql/docs/mysql/instance-access-control

【讨论】:

  • 感谢您的评论,但我正在尝试使用 Cloud SQL 代理连接到不需要白名单地址的云 sql。
【解决方案2】:

您共享的错误消息表明您的计算机无法连接到端口 3307(由代理使用)上的实例 IP 地址。我在我自己的机器上测试了这个,它在那里听。这可能表明您的计算机或本地网络上的防火墙阻止了端口 3307 上的出站连接。尝试在防火墙中打开它,看看是否可以连接。

【讨论】:

    【解决方案3】:

    当您运行 PopSQL 或 Node.js 的实例并且 MySQL 服务器未在您的本地计算机上运行时,会发生此错误。 请尝试以下步骤

    1. 按键盘上的 Windows 键和 R。这将打开命令提示符
    2. 输入 services.msc 并点击确定。
    3. 在弹出的服务中,检查 MYSQL57。如果未处于运行状态,点击对话框左栏中的运行该服务
    4. 服务运行后,从连接窗口连接到 POPSQL

    【讨论】:

    • 这解决了我的问题。谢谢!还将您的启动设置更改为自动。我在安装时将其设置为手动,现在它是自动的,对我来说没有问题。
    猜你喜欢
    • 2017-08-11
    • 1970-01-01
    • 2021-02-27
    • 2018-04-07
    • 1970-01-01
    • 2021-01-19
    • 2019-12-22
    • 2022-11-04
    • 1970-01-01
    相关资源
    最近更新 更多