0

頻繁に読み取り/書き込みを行う運用データベースをレプリケートしようとしています。MySQL のマニュアル ページの指示に従って、次のコマンドを実行します。

mysql> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.16 sec)

mysql> show master status;
+------------------+-----------+--------------+------------------+
| File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000061 | 717697391 |              |                  |
+------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)

次に、次のコマンドを実行してバックアップ手順を開始します

shell> mysqldump --lock-all-table --databases first second third -u root -p > dbdump.sql

次に、次のコマンドを実行します

mysql> show master status;
+------------------+-----------+--------------+------------------+
| File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000061 | 717697462 |              |                  |
+------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)

mysql> show master status;
+------------------+-----------+--------------+------------------+
| File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000061 | 717697462 |              |                  |
+------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)

「READ LOCK」ステートメントの実行後にテーブルがすでにロックされている場合、2 つの連続する「show master status」コマンドで座標位置が異なるのはなぜですか? レプリケーションにはどの位置の値を使用すればよいですか?

ところで、私は走る必要がありますか

mysql> UNLOCK TABLES;

バックアッププロセスの後?または、mysqldump が完了すると、テーブルは自動的にロック解除されます。

4

1 に答える 1

0

オプションで使用するmysqldumpと、ダンプの先頭で送信されるため、手動で行う必要はありません。--lock-all-tablesmysqldumpFLUSH TABLES WITH READ LOCK

于 2012-10-13T22:32:03.507 に答える