2014-09-29 222 views
6

我只是試圖從本地機器上的MySQL Workbench連接到Amazon MySQL RDS實例。我不想嘗試從EC2實例或任何其他服務器進行連接,或者做任何特殊的事情。我只是想以最基本的方式進行連接,所以我可以在MySQL Workbench中添加數據庫,表和一些數據。使用MySQL Workbench與Amazon RDS MySQL數據庫的簡單連接

我了MySQL Workbench應用程序下載並安裝在運行OSX 10.9.4我的Mac電腦上。

我已成立了亞馬遜AWS MySQL的RDS實例。

我有被授權此RDS實例的E​​C2安全組。 (?我應該使用一個CIDR/IP安全組如果是這樣,你可以進入更詳細請)

我打開MySQL工作臺和我在設置新的連接窗口:

  • 連接方式設置爲標準(TCP/IP)。
  • 主機名是我在此RDS儀表板中爲此實例找到的端點
  • 用戶名是我在創建此RDS 實例時所做的主用戶名。
  • 密碼問到「存儲在鑰匙串......」我把我做 當我創造了這個RDS實例的密碼。

當我測試在工作臺的連接,我得到的錯誤:

Can't connect to MySQL server on 'SERVER_IP_ADDRESS' (60) 

我在做什麼錯?請從一開始就爲新手一步一步來。

+0

您可能需要解鎖amazon使用的防火牆中的端口,您可以在管理面板中將其添加到實例中。 – Carlos487 2014-09-29 21:03:01

+0

我可以連接我的個人電腦嗎?還是必須通過EC2實例進行連接?我需要創建一個新的CIDR/IP類型的安全組嗎? – brno792 2014-09-29 21:42:19

回答

0

你有兩個選擇:

  • 打開直接RDS訪問您的計算機的IP地址。這應該很容易做到,但是如果你的IP地址不是靜態的,或者通過NAT提供的,這將允許其他機器共享相同的IP,那麼可能就不那麼安全。
  • 通過您的EC2實例上的SSH隧道訪問RDS。您將使用適當的密鑰進入您的EC2實例,然後從那裏連接到RDS。從安全角度來看,這可能是最好的配置,因爲您不需要在RDS防火牆中打開任何其他漏洞,並且您通常會啓用SSH來訪問您的EC2實例。
+0

私鑰在哪裏? – Timeless 2015-04-03 13:56:10

0

亞馬遜的instructions for the task看起來不錯,所以我不打算嘗試在這裏複製整個事情;只是相關的部分。我用命令行,但相同的設置適用於MySQL Workbench還有:

mysql -h hostname 

如果這是沒有幫助的,隨意發表評論。

4

I have an EC2 Security Group that is authorized for this RDS instance. (Should I be using a CIDR/IP security group? If so can you go into more detail please)

這是你似乎缺少的部分。您需要編輯安全組設置:

  • 您需要授權試圖通過CIDR/IP連接到RDS實例的計算機的IP。如果您正在使用同一臺計算機編輯安全組,以嘗試通過MySQL Workbench進行連接,那麼當您選擇「連接類型:CIDR/IP」(位於安全組設置的底部)時,該對話框將自動 - 填寫您自己的IP塊(您的IP附加/ 32)。

  • 點擊授權,應該這樣做。

我已經經歷過這種授權,幾秒鐘就可以採取一分鐘,以在視覺上完全在AWS控制檯,但一旦說「授權」的連接應該工作。

也就是說,假設您的連接字符串是正確的。 ;)

1

要確保幾件事情:

  • 您的VPC安全組被允許的端口上的連接您正在使用(默認3306)。
  • 確保您的Internet網關連接到您的VPC。
  • 您的子網的路由表必須包含將Internet訪問流量引導到Internet網關的路由。 (source

對我來說,最後一個滑過了。具體來說,我在路由表中添加了一個目的地,導致0.0.0.0/0(ALL)。我不知道這個的安全含義,但它在那之後起作用。這對我來說是一個一次性的數據庫,它與其他實例/ VPC隔離。

0

e.thompsy的答案幫助了我,但是自那時起,AWS接口中的事情發生了變化。爲了讓您的計算機的IP訪問MySQL實例:

  1. 導航到RDS儀表板並單擊Intances。這將列出您的RDS實例。
  2. 展開您想要訪問的RDS實例。
  3. 下的安全性&網絡部分中,安全組中列出,它會具有安全組名稱(SG-XXXXXX)
  4. 的標識符在一個單獨的標籤上,打開EC2控制板。
  5. 在「網絡&安全性」下的左側菜單中,單擊「安全組」
  6. 在您的RDS實例中單擊具有匹配組ID的安全組。
  7. 下面列出了該組的選項。點擊「入站」。
  8. 點擊「編輯」。會彈出一個對話框。
  9. 單擊「添加規則」
  10. 選擇MYSQL/Aurora,它將填充TCP協議和3306端口範圍這是默認的MySQL端口。如果您想更改此選項,請選擇Custom TCP並輸入您想要打開的範圍。
  11. 在「Source」下拉列表中選擇「我的IP」,如果您在計算機上需要訪問,請選擇「自定義」並輸入機器的IP以訪問其後的「/ 32」
  12. 單擊保存,然後使用「Standard TCP/IP」使用您指定的端口與MySql Workbench連接到您的RDS端點。這樣做當然必須輸入用戶名/密碼。

我不知道打開該端口到您的IP的安全影響。如果您擔心,建議您在需要訪問RDS實例時撤銷入站規則。

1
  1. 在AWS安全組,開放3306從您的 計算機的傳入連接的MySQL的遠程訪問
  2. 授予權限 - 授予所有權限。改爲「'@」'由''用''標識的選項; 刷新權限;
  3. 設置本地MySQL工作臺 - MySQLWorkbench設置截圖

MySQLWorkbench setup screenshot

祝你好運!

0

要通過MySQL Workbench連接Mysql RDS,請嘗試執行以下步驟。

類型:MySQL -h -P 3306 -u -p在cmd中的窗口[你會被提示輸入密碼] 如果安全組和用戶名,PWD是否正確,你將得到MySQL的對話框

ERROR 2003 (HY000):無法連接到''(10060)上的MySQL服務器 - 當沒有入站規則時出現錯誤。

總是嘗試維護一個新的安全組的DB。

如果選擇默認安全組,默認情況下拒絕訪問。

安全組入站規則已被修改爲 MYSQL /極光TCP 3306 MYIP

它被連接。