top
Loading...
13.6.2.2.LOADDATAFROMMASTER語法
13.6.2.2. LOAD DATA FROM MASTER語法
LOAD DATA FROM MASTER

本命令用于對主服務器進行快照,并拷貝到從屬服務器上。它可以更新MASTER_LOG_FILEMASTER_LOG_POS的值,這樣,從屬服務器就可以從正確的位置開始進行復制。使用--replicate-*-do-*--replicate-*-ignore-*選項指定的表和數據庫排除規則均被兌現。--replicate-rewrite-db沒有被考慮。這是因為使用本選項,用戶就可以設置一個例如--replicate-rewrite-db=db1->db3--replicate-rewrite-db=db2->db3的非唯一映射。當從主服務器載入表時,該映射會使從屬服務器發生混淆。

本語句的使用受以下條件的制約:

·         只對MyISAM表起作用。如果試圖載入一個非MyISAM表,會導致以下錯誤:

·                ERROR 1189 (08S01): Net error reading from master

·         當拍攝快照時,會獲得對主服務器的全局讀取鎖定。在載入操作期間,該鎖定會阻止對主服務器的更新。

如果您正在載入大表,您可能必須對主服務器和從屬服務器均增加net_read_timeoutnet_write_timeout值。請參見5.3.3節,“服務器系統變量”。

注意,LOAD DATA FROM MASTER不從mysql數據庫拷貝任何表。這可以更容易地讓主服務器和從屬服務器擁有不同的用戶和權限。

LOAD DATA FROM MASTER語句要求用于連接主服務器的復制帳戶,以便讓主服務器擁有RELOADSUPER權限,并讓所有您想要載入的主服務器表擁有SELECT權限。所有的用戶不擁有SELECT權限的主服務器表均被LOAD DATA FROM MASTER忽略。這是因為主服務器會對用戶隱藏它們:LOAD DATA FROM MASTER會調用SHOW DATABASES以了解要載入的主服務器數據庫,但是SHOW DATABASES只會返回用戶有部分權限的數據庫。請參見13.5.4.6節,“SHOW DATABASES語法”。在從屬服務器方面,發布LOAD DATA FROM MASTER的用戶應擁有授權,以取消或創建被復制的數據庫和表。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html
北斗有巢氏 有巢氏北斗