頻繁に読み取り/書き込みを行う運用データベースをレプリケートしようとしています。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 が完了すると、テーブルは自動的にロック解除されます。