2009-09-02 10 views
0

私は手作業のレプリケーションを使用しているFirebirdから、MySQLとその統合レプリケーションソリューションに切り替えることを検討しています。散発的なネットワーク接続を持つ4つの部門があります。各自がデータベースのコピーを持っていなければならず、データベースを更新できなければならないので、私はリング複製方法(A-> B、B-> C、C-> D、D-> A)私が間違っているなら、私を修正してください!)NATの背後にあるMySQLリングレプリケーション

しかし、3つの部門が外界との公的な接続を持っていますが、NATの後ろに1つあり、私はポートを転送する機会がありません - 基本的に私は外の世界にしか接続できませんが、接続。この制限でリングタイプの複製を設定する方法はありますか?

答えて

0

逆方向トンネルを使用して、NATの背後にあるホストにアクセスできます。 NATの背後にあるホストがホストDであり、ホストCは、例えばhostc.comの名前でインターネットからアクセス可能である場合には、逆トンネルコマンドは次のようになります

ssh -nNT -o TCPKeepAlive=yes -R <remote port>:localhost:<local port> [email protected] 

<remote port>は、任意の非特権ポートにすることができます。同様に、ホストCに

ssh localhost -p 8022 

はあなたがホスト上のポート22(SSH)に接続できるようになりD.

:あなたのセット8022から<remote port>、および<local port> 22に、コマンドを実行する場合任意のローカルポート(web、mysql)を任意のリモートポートにトンネルできます。トリッキーな部分は、接続を維持することです(-o TCPKeepAlive = yesが役立つはずです)。自動的に再接続します。定期的にpingを実行するbashスクリプトや、sshプロセスを強制終了して再度起動させるcronジョブがあります。

リングスタイルの複製セットアップの効率性については、私は少し考えていません。(

関連する問題