3

1 つの MySQL マスターといくつかのスレーブ マシンがあります。

マスター/スレーブ レプリケーションが設定され、完全に機能します。

この時点で、新しいスレーブ マシンを追加します。

私の質問は、「CHANGE MASTER TO」コマンドに関するものです。

すべてのファイルがマスターで利用可能であると仮定すると、mysql-bin.000001 から開始しますが、どの位置からですか? MASTER_LOG_POS=0 ? MASTER_LOG_POS=1 ? 他の何か?

マスターを MASTER_HOST='...', MASTER_USER='...', MASTER_PASSWORD='...', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=WHAT_SHOULD_WRITE_HEREに変更します。

10倍、

4

3 に答える 3

2

show master status;たとえば、次のように実行する必要があります。

mysql> show master status;

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000011 | 13966886 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec) 

マスターでダンプを取得する前に、ログの位置をメモします。スレーブにダンプを復元し、mysqldump の前に取得したchange master toのと同じログ位置で実行します。13966886

于 2016-01-29T11:12:26.463 に答える
1

最初からすべてのビン ログがある場合は、master_log_file .000001 と pos=0 を使用できます。ほとんどの人はマスター スタートからのバイナリ ログをもう持っていないので、使用する位置はダンプが取得されたときの位置です。スレーブ サーバーにコピーしたダンプ。または、マスターおよびコピーしたデータ ディレクトリを閉じたときの位置。

すでにスレーブサーバーを持っているので、これで簡単になります。スレーブ サーバーでスレーブ スレッドを停止し、ログ ファイルの名前と位置をスレーブから確認し、データファイルをスレーブから新しいサーバーにコピーして、両方を開始することができます。

于 2012-09-22T19:57:21.127 に答える
0

ドキュメントでは、SHOW MASTER STATUS を実行するように指示されています: ( http://dev.mysql.com/doc/refman/5.6/en/replication-howto-masterstatus.html )

SHOW MASTER STATUS;

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 73       | test         | manual,mysql     |
+------------------+----------+--------------+------------------+

あなたの位置は 2 番目の列にあります。

于 2013-08-12T17:26:04.240 に答える