命令用于对主服务器进行快照,并拷贝到从属服务器上。它可以更新MASTER_LOG_FILE和MASTER_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_timeout和net_write_timeout值。请参见 5.3.3节,“服务器系统变量”。
注意,LOAD DATA FROM MASTER不从mysql数据库拷贝任何表。这可以更容易地让主服务器和从属服务器拥有不同的用户和权限。
LOAD DATA FROM MASTER语句要求用于连接主服务器的复制帐户,以便让主服务器拥有RELOAD和SUPER权限,并让所有您想要载入的主服务器表拥有SELECT权限。所有的用户不拥有SELECT权限的主服务器表均被LOAD DATA FROM MASTER忽略。这是因为主服务器会对用户隐藏它们:LOAD DATA FROM MASTER会调用SHOW DATABASES以了解要载入的主服务器数据库,但是SHOW DATABASES只会返回用户有部分权限的数据库。请参见13.5.4.6节,“SHOW DATABASES语法”。在从属服务器方面,发布LOAD DATA FROM MASTER的用户应拥有授权,以取消或创建被复制的数据库和表。
问题解决了 load data from master; 出错是因为 主上有非MyISAM的表
解决方法是
将 非 MyISAM的表 锁定 改成 MyISAM
然后 load data from master;
然后 解除锁定 将2端 非MyISAM的表 改回原来的样子
目前是这样做的实验 试验已经成功 脚本也写好了 ... 还没到生产环境上实现
--转自