2016-11-22 40 views
0

我需要集中式數據庫的解決方案。集中式數據庫DB

我們在一個主機服務器(Azure Redhat虛擬服務器)中有數據庫,我們也需要在其他主機服務器上使用相同的數據庫。所以這將是兩個服務器的集中DB。如果我使用Mysql DB的IP,我也不能在navicat中使用它。

我已經嘗試在my.cnf文件中使用(bind-address =服務器所在的數據庫的IP地址),但它不允許遠程訪問。在其他託管服務器中使用它,或者在像navicat/Heidi sql這樣的任何mysql客戶端中使用它。

此外,我在Azure服務器中爲端口安全添加了端口3306規則。

在此先感謝您的幫助。

+0

http://stackoverflow.com/questions/4831553/using-a-central-database-server-for-many-sites-plausible – channasmcs

+0

你好Channasmcs,感謝您的回覆,但線程顯示更generailised的回覆。我需要使用linux命令和配置明智的解決方案。我嘗試使用telnet IP 3306但連接超時錯誤,所以它看起來更多的防火牆問題。 – user1648204

+0

Hi @ user1648204,你有任何更新嗎? –

回答

0

由於Azure VM禁用ICMP,我們可以使用SSH隧道來允許外部訪問內部網絡資源。

請儘量按照這個post,創造了一個虛擬機SSH隧道主辦了MySQL服務器:

  • 打開3306端口,所以遠程客戶端可以連接到你的MySQL服務器。運行以下命令來打開TCP端口3306

    iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

    現在讓我們檢查,如果3306端口是開放的,運行以下命令:

    sudo netstat -anltp|grep :3306

  • 創建端口3307

    一個SSH隧道

    sudo ssh -fNg -L 3307:127.0.0.1:3306 [email protected]

  • 爲入站安全性在Azure服務器中爲端口3307規則創建端點。現在您的數據庫主機名是<VM_ip>:3307

請隨時通知我。

相關問題