0

マスター マスター レプリケーションを構成しようとしていますが、エラーが発生します。以下の構成を送信しています

サーバーA

server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1

master-host = Kooler-PC
master-user = replicacao
master-password = replicacao
master-connect-retry = 60
replicate-do-db = gestao_quadra

log-bin = C:\mysql\log\log-bin.log
binlog-do-db = gestao_quadra

CHANGE MASTER TO MASTER_HOST='Kooler-PC', MASTER_USER='replicacao', MASTER_PASSWORD='replicacao', MASTER_LOG_FILE='log-bin.log', MASTER_LOG_POS=0;

他のサーバーに対して同じ手順を実行して、サーバー ID、ホストを変更し、パスにファイルを作成しました。

次のエラーが表示されます。

130218 18:03:02 [Note] Slave I/O thread: connected to master 'replicacao@Kooler-PC:3306',replication started in log 'log-bin.log ' at position 4
130218 18:03:02 [ERROR] Error reading packet from server: Binary log is not open ( server_errno=1236)
130218 18:03:02 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'Binary log is not open', Error_code: 1236
130218 18:03:02 [Note] Slave I/O thread exiting, read up to log 'log-bin.log ', position 4

MySQL 5.5 を使用しています

4

1 に答える 1

2

したがって、レプリケーションとバイナリ ログに関する mysql のマニュアルを読むと、次の行が表示されます。

log-bin = C:\mysql\log\log-bin.log

正確にその名前のログ ファイルを作成しません。ベース名を指定します。実際に作成されるログ ファイルの名前は次のとおりです。

C:\mysql\log\log-bin.log.000001

つまり、実際のログには、指定した名前の末尾にシーケンス番号が追加されています。実際のログ名を表示するには、次のコマンドを使用します。

SHOW MASTER STATUS
SHOW BINARY LOGS;

変更マスター ステートメントのこの部分は無効です:

MASTER_LOG_FILE='log-bin.log ', MASTER_LOG_POS=0;

私が今まで読んだレプリケーション関連の指示には、位置 0 を使用するように導く部分はありません。マスターのバイナリ ログ ファイルと、スレーブを初期化したデータのスナップショットに対応する位置を使用する必要があります。

詳細については、マニュアルを参照してください。より複雑なレプリケーション構造を試みる前に、基本的なマスターからスレーブへのレプリケーションから始めてください。 http://dev.mysql.com/doc/refman/5.5/en/replication.html

于 2013-02-18T23:25:57.643 に答える