2012-03-01 34 views
0

是否有可能做到以下幾點?:連接Amazon EC2上我的本地MySQL數據庫

我有一個本地的Mac運行OS X Lion的安裝該MySQL服務器的定期運行不同的處理和存儲數據到本地數據庫。

另一方面,我有一個Amazon EC2實例。

我想要做的是使用Amazon實例執行某些cronjob(使用自己的資源),但連接到本地主機(我的計算機)上的數據並執行基本的SQL操作(如更新數據,插入等

我不知道這是否有幫助,但我有一個靜態IP。有什麼辦法可以「打開」我的IP,以便亞馬遜實例可以將我的家用電腦識別爲有效的MySQL服務器?

感謝您的幫助,任何正確方向的提示將不勝感激。

回答

0

如果您的EC2實例連接到本地數據庫,您將需要本地靜態IP。好吧不需要...但如果你沒有它,你任何時候你重置你的路由器或鬆動的電源等你的IP會改變。您也可以查看動態DNS以及您的本地實例。

您的ISP不會阻止您的本地實例上的端口。這將成爲網絡中的防火牆,阻止您通過mysql本身連接​​到mysql或配置。用戶只能從某些IP地址連接到MySQL。

+0

謝謝,我不明白的是,我將告訴EC2實例連接到哪個IP?我有公共的靜態IP,我的ISP給我,而本地我有3個不同的機器,數據庫在其中的一個192.168.0.1可以說。再次感謝! – JordanBelf 2012-03-01 21:12:28

+0

登錄到您的數據庫機器並轉到http://ipchicken.com,它將爲您提供該機器的IP。除非你有一些路由器配置將ip重定向到其他地方,這應該是正確的ip使用。任何以192.168.x.x開頭的IP地址都是本地IP地址,亞馬遜無法連接到該IP地址。 – bwight 2012-03-01 21:56:16

+0

謝謝你,它工作!我認爲這會變得更加複雜! – JordanBelf 2012-03-02 19:40:55

0

如果您使用的是防火牆,您必須在防火牆上打開mysql端口,在您的EC2實例上安裝mysql客戶端,並確保擁有適當授予權限的用戶。

這就是說爲什麼不在mac上本地運行cron?

+0

感謝您的快速回復。所以基本上我需要問我的ISP讓我打開端口3306?那就是它?我正在閱讀關於VPN,獅子服務器,以及所有這些,我不需要這些? 我需要在另一臺機器上運行cron的原因是我的本地機器無法處理更多的工作,這就是爲什麼我想將資源外包到ec2實例。 – JordanBelf 2012-03-01 19:08:12

0

如果您可以通過SSH登錄到您的服務器,那麼不需要打開任何其他端口,也不需要靜態IP。您可以使用SSH端口轉發。從本機上運行:

ssh -C -R 5555:127.0.0.1:3306 <your-server-host> 

現在你應該能夠從遠程服務器在localhost:5555連接到Mac的數據庫上運行localhost:3306

相關問題