簡體   English   中英

無法使用 Node.js 和 AWS EC2 訪問 mysql 服務器

[英]Can't reach mysql server with Node.js & AWS EC2

我沒有使用 AWS RDS,只使用 AWS EC2。

我將數據上傳到 AWS EC2 Ubuntu 20.04 端口 3306 上的 MySQL 服務器。

另外,在那個 ubuntu,我正在端口 3000 上運行我的 Node.js web 服務器。

但是,web 服務器無法訪問 MySQL 服務器。 他們總是說

err :  { Error: connect ECONNREFUSED 127.0.0.1:3306
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)

在此處輸入圖像描述 上圖是我現在的入站規則。

我使用一些查詢檢查了我的數據在 MySQL 服務器中...

還有什么可以做的嗎?

如果您需要有關我的設置或其他內容的更多信息,請告訴我。

也許以下步驟可以幫助您解決此問題:

  • make sure that it runs locally first on MySQL docker container: create database name, a user with sufficient rights in MySQL, connect to it applying username, password, URL, port, and other options.
  • 記錄這些步驟並在 ec2 上嘗試完全相同的步驟,我看到您已經暴露了 3306 端口,這很好。 順便提一句。 我會先嘗試使用帶有節點的 heroku ,因為有更多關於 Heroku CL 和cleardb的文檔,這是 MySQL 的插件,它是免費的:)
  • 順便提一句。 通常數據庫應該放在私有子網中,並且只能通過 nat-instance / nat-gateway 允許訪問,因此只允許來自公共子網的請求,但數據庫仍然可以通過 nat 下載補丁,只是為了保持考慮到最佳實踐;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM