错误:从 NodeJS 应用程序使用云 sql for MYSQL 时连接 ECONNREFUSED 127.0.0.1:3306

问题描述 投票:0回答:4

我遵循了此示例应用程序链接中提到的所有步骤。 GitHub 链接。当运行脚本(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)  

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

google-cloud-platform google-cloud-sql google-api-nodejs-client cloud-sql-proxy
4个回答
4
投票

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

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

1
投票

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


0
投票

下载 mySQL 时,您可能未选中“启动时启动 mysql”复选框。因此,在运行 popSQL 时,您会收到错误,因为 mysql 未运行。 要修复该错误:按键盘上的 Windows + R。键入 services.msc。搜索mysql并右键单击它。单击开始。


-2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.