MySQL サーバーでマスター間レプリケーション中にポート 3306 で Telnet を有効にする方法

MySQL サーバーでマスター間レプリケーション中にポート 3306 で Telnet を有効にする方法

Windows Server 2008 でマスターからマスターへのレプリケーションを実行しようとしています。マスター 1 のすべてのデータベースをマスター 2 に正常にレプリケートできます。ただし、マスター 2 で行われた変更をマスター 1 にレプリケートできません。後で、マスター 2 からポート 3306 を使用してマスター 1 に Telnet できるが、マスター 1 からマスター 2 に Telnet できないことがわかりました。

両方のマスターでnetstatをチェックすると、次の結果が見つかりました。パブリックIPを公開できなかったので、それぞれのIPにマスター1とマスター2という名前を付けました。

マスター1

C:\Users\XXXXX>netstat

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    Master 1:3306          Master 2:61566      ESTABLISHED
  TCP    Master 1:3389          My remote:56053     ESTABLISHED
  TCP    127.0.0.1:3306         Master 1:60675      ESTABLISHED
  TCP    127.0.0.1:3306         Master 1:60712      ESTABLISHED
  TCP    127.0.0.1:60675        Master 1:3306       ESTABLISHED
  TCP    127.0.0.1:60712        Master 1:3306       ESTABLISHED

マスター2

C:\Users\XXXX>netstat

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    Master 2:3389        My remote:56124     ESTABLISHED
  TCP    Master 2:61566       Master 1:3306       ESTABLISHED
  TCP    Master 2:61574       bil-sc-cm02:http    ESTABLISHED
  TCP    127.0.0.1:3306       Master 2:61562      ESTABLISHED
  TCP    127.0.0.1:3306       Master 2:61563      ESTABLISHED
  TCP    127.0.0.1:61562      Master 2:3306       ESTABLISHED
  TCP    127.0.0.1:61563      Master 2:3306       ESTABLISHED
  TCP    127.0.0.1:61573      Master 2:3306       TIME_WAIT

すべては、マスター 2 でポート 3306 がアクティブになっていないことを示しています。ここで解決策が必要です。どうすればわかりますか。あなたの小さな提案は私にとって何百万にもなります。

ありがとう

よろしくお願いいたします。

ウディヤン

答え1

「Telnet」は単に TCP 接続を確立できることを意味します。あまり重視しないでください。

より重要な情報は、netstat の出力にあります。ご覧のとおり、Master2 上の MySQL プロセスは、127.0.0.1 のみをリッスンしており、「Master 2」インターフェースはリッスンしていません。そのインターフェースをリッスンするように MySQL を構成する必要があります。

Linux システムでは、/etc/my.cnf を編集してbind-addressパラメータを 以外の値に変更し127.0.0.1、MySQL を再起動します。Windows でこれを行う方法はよくわかりませんが、このパラメータを変更する同様の方法があるはずです (おそらく管理 GUI 経由でしょうか)。

関連情報