2012-05-20 200 views
3

我試圖使用命令從本地機器導入我的.sql轉儲AWS RDS數據庫實例:無法從本地MySQL服務器連接到AWS RDS數據庫實例

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqldump --host=localhost 
--user=root --password=admin e_learning_system | mysql 
--host=mydbinstance.cyz1k1vacvdd.us-east-1.rds.amazonaws.com 
--user=root --password=adminadmin e_learning_system 

但引發此錯誤:

ERROR 2003 (HY000): Can't connect to MySQL server on 'mydbinstance.cyz1k1vacvdd.us-east-1.rds.amazonaws.com' (10060) mysqldump: Got errno 22 on write

如何更正此問題?

+2

您是否編輯過RDS主機的安全組以打開您的IP地址的MySQL TCP端口? – Phil

回答

0

錯誤2003意味着沒有連接到mysql服務器。檢查您是否允許連接到RDS安全組中RDS的機器。

5

是,亞馬遜青苗應用和RDS安全組必須是同一連接的應用程序的數據庫實例..

右擊數據庫實例,並使用由青苗應用程序中添加一個新的安全組..

+5

屏幕截圖或來源材料可能會有所幫助。 – JSuar

2

我更喜歡使用MySQL工作臺。比命令行方式更容易用戶友好。

它提供了一個簡單的GUI。

MySQL工作臺或SQL Yog。

這些是我做的步驟。

1)安裝MySQL Workbench。

2)在AWS控制檯中,您的RDS實例必須有一個安全組。將入站規則添加到該組,以允許來自您的計算機的連接。這很簡單。添加您的IP地址。

3)打開MySQL工作臺,添加一個新的連接。

4)給連接一個你喜歡的名字。

5)選擇連接方法 - 標準TCP/IP

6)在主機名的字段中輸入您的RDS端點(mydbinstance.cyz1k1vacvdd.us-east-1.rds.amazonaws.com)。

7)端口:3306

8)用戶名:主用戶名(你創建你的RDS實例的過程中創建的一個)(根)

9)密碼:主密碼(admin管理員)

10)單擊測試連接以檢查您的連接。

11)如果連接成功,請單擊確定。

12)打開連接。

13)你會在那裏看到你的數據庫'e_learning_system'。

14)現在你可以將你的mysqldump文件導出到這個數據庫。轉到 - >服務器。點擊數據導入。

15)您可以通過簡單地打開空白SQL文件來檢查數據是否已被遷移&在基本SQL命令中輸入如use database,select * from table;

+0

這不回答這個問題。問題是他的db實例不接受傳入連接。使用工作臺不會解決這個問題。 –

5

如果有人仍然在尋找像我這樣的解決方案,我設法通過在我的RDS實例中設置安全組來完成它。只需轉到該安全組,您將在「安全和網絡」部分找到該點擊。進入安全組頁面後,編輯入站規則,將源代碼暫時更改爲0.0.0.0/0(表示接受),然後導入數據庫轉儲。這應該工作。但請記住,您可能想要將其恢復到生產環境中的這一設置。

+0

啊,修好了!但是你能告訴我爲什麼它不安全?有人濫用它的意思是無論如何都必須知道用戶名和密碼,對吧? – SexyBeast

0

我得到了同樣的錯誤,我通過將mysql.exe添加到我連接到的機器的防火牆來解決它。

相關問題