0

私のマスターmysqlサーバーはローカルネットワーク上にあり、リモート(つまりインターネット上)の新しいスレーブがあります。MASTER にはアクセス可能な IP がないため、リバース トンネルを確立する必要があることをドキュメントから収集しました。私はこれを実行します:

ssh -f -N -T -R 7777:localhost:3306 user@slave.slave.com

マスターで。接続は機能しているようです。スレーブに移動し、mysqlを使用して問題なく MASTER に接続できます。なんらかの理由で、レプリケーションが開始されません。MASTER はすでに他の 2 つのスレーブに問題なく複製しています - 構成は正しいようです。

次のようにスレーブでレプリケーションを開始しました。

CHANGE MASTER TO MASTER_HOST='127.0.0.1', 
                 MASTER_PORT=7777,
                 MASTER_USER='my_repl', 
                 MASTER_PASSWORD='xxxxx', 
                 MASTER_LOG_FILE='mysql-bin.nnnnn', 
                 MASTER_LOG_POS=mm;

SLAVE STATUS は、mysql がリモートに接続しようとしているが、成功しないことを報告します。

error connecting to master 'my_repl@127.0.0.1:7777' - retry-time: 60  retries: 86400

誰でもこの問題を診断する方法を提案できますか?

ところで:OSはLinuxです。

4

1 に答える 1

0

申し訳ありません... 127.0.0.1 を IP として新しいユーザーを定義する必要があることに気づきませんでした。

したがって、「イントラネット」接続は使用します

replication_user@machine_name 

id として、リバース トンネルを経由する接続は

replication_user@127.0.0.1 

IDとして。両方とも mysql に個別に宣言する必要があります。元のメッセージの残りの情報は有効です-これは誰かを助けるかもしれません...

こんにちは、ジョン

PS:言及するのを忘れました-tcpdumpを使用してこれをリモートでデバッグしました(MASTERとSLAVEの両方がリモートです):

tcpdump -i lo 'tcp port 7777'

SLAVE 側、および

tcpdump -i lo 'tcp port 3306'

MASTER で (もちろん、トラフィックが多い場合はあまり役に立ちません)。

于 2013-08-10T23:00:01.457 に答える