LOAD DATA FROM MASTER
マスタのスナップショットを撮り、スレーブにコピーします。
スレーブが正しい位置からレプリケーションを開始できるように、MASTER_LOG_FILE
と MASTER_LOG_POS
の値を更新します。replicate-*
オプションで指定したテーブルとデータベースの除外ルールも適用されます。
このステートメントの使用には以下の条件があります。
これは、MyISAM
テーブルに対してのみ有効。
スナップショットの作成中、グローバル読み取りロックがかかるので、ロード中のマスタでの更新ができなくなる。
将来、このステートメントを
InnoDB
テーブルでも使用できるようにし、また非ブロックのオンラインバックアップ機能によってグローバル読み取りロックの必要性もなくす予定です。
大きなテーブルをロードするとき、場合によっては、マスタとスレーブの両方で
net_read_timeout
と
net_write_timeout
の値を大きくすることが必要になります。項4.6.8.4. 「SHOW VARIABLES
」
を参照してください。
注意: LOAD DATA FROM MASTER
は、mysql
データベースのテーブルをコピーしません。これは、マスタとスレーブに対して複数の異なるユーザと権限を設定しやすくするための措置です。
このステートメントでは、マスタへの接続に使用する
MySQL ユーザが、マスタに対する
RELOAD
権限と SUPER
権限、およびロードするすべてのマスタテーブルに対する
SELECT
権限を持っていることが前提となります。ユーザに
SELECT
権限のないマスタのテーブルはすべて、LOAD
DATA FROM MASTER
では無視されます。マスタは、それらのテーブルをそのユーザには表示しないためです。LOAD
DATA FROM MASTER
は SHOW
DATABASES
を呼び出してどのマスタデータベースをロードするか調べますが、SHOW
DATABASES
はユーザに権限のあるデータベースだけを返します。項4.6.8.1. 「データベース、テーブル、カラム、およびインデックスに関する情報の取得」
を参照してください。
スレーブ側では、LOAD DATA FROM
MASTER
を発行するユーザに、該当するデータベースとテーブルを破棄および作成できる権限が必要です。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.