不能将A库的数据导出.sql之后再导入到B库,因为我根本不知道导入的路径是什么, 如果用语言直接操作? 就是不知道那个路径名嘛 我要知道是哪个盘的话就不用问了嘛
å¦æä»åºä¸è¡¨ t æ°æ®ä¸ä¸»åºä¸ä¸è´ï¼å¯¼è´å¤å¶é误ï¼æ´ä¸ªåºçæ°æ®éå¾å¤§ï¼éåä»åºå¾æ ¢ï¼å¦ä½åç¬æ¢å¤è¿å¼ 表çæ°æ®ï¼é常认为æ¯ä¸è½ä¿®å¤å表æ°æ®çï¼å 为æ¶åå°å表ç¶æä¸ä¸è´çé®é¢ãä¸é¢å°±å举å¤ä»½å表æ¢å¤å°ä»åºä¼é¢ä¸´çé®é¢ä»¥å解å³åæ³ï¼
åºæ¯ 1
å¦æå¤å¶æ¥éåï¼æ²¡æ使ç¨è·³è¿é误ãå¤å¶è¿æ»¤çæ¹æ³ä¿®å¤ä¸»ä»å¤å¶ã主åºæ°æ®ä¸ç´å¨æ´æ°ï¼ä»åºæ°æ®åæ»å¨æ¥éç¶æï¼å设 GTID 为 aaaa:1-100ï¼ã
ä¿®å¤æ¥éª¤ï¼
å¨ä¸»åºä¸å¤ä»½è¡¨ t ï¼å设å¤ä»½å¿«ç § GTID 为 aaaa:1-10000ï¼ï¼
æ¢å¤å°ä»åºï¼
å¯å¨å¤å¶ã
è¿éçé®é¢æ¯å¤å¶èµ·å§ä½ç¹æ¯ aaaa:101ï¼ä»åºä¸è¡¨ t çæ°æ®ç¶ææ¯é¢å å ¶ä»è¡¨çãaaaa:101-10000 è¿äºäºå¡ä¸åªè¦æä¿®æ¹è¡¨ t æ°æ®çäºå¡ï¼å°±ä¼å¯¼è´å¤å¶æ¥é ï¼æ¯å¦ä¸»é®å²çªãè®°å½ä¸åå¨ï¼è aaaa:101 è¿ä¸ªä¹åå¤å¶æ¥éçäºå¡å¿ å®æ¯ä¿®æ¹è¡¨ t çäºå¡ï¼
解å³åæ³ï¼å¯å¨å¤å¶æ¶è·³è¿ aaaa:101-10000 è¿äºäºå¡ä¸ä¿®æ¹è¡¨ t çäºå¡ã
æ£ç¡®çä¿®å¤æ¥éª¤ï¼
1. å¨ä¸»åºä¸å¤ä»½è¡¨ t ï¼å设å¤ä»½å¿«ç § GTID 为 aaaa:1-10000ï¼ï¼æ¢å¤å°ä»åºï¼
2. 设置å¤å¶è¿æ»¤ï¼è¿æ»¤è¡¨ tï¼
CHANGE REPLICATION FILTER REPLICATE_WILD_IGNORE_TABLE = ('db_name.t');3. å¯å¨å¤å¶ï¼åæ¾å° aaaa:10000 æ¶åæ¢å¤å¶ï¼æ¤æ¶ä»åºä¸ææ表çæ°æ®é½å¨åä¸ç¶æï¼æ¯ä¸è´çï¼;
START SLAVE UNTIL SQL_AFTER_GTIDS = 'aaaa:10000';4. å é¤å¤å¶è¿æ»¤ï¼æ£å¸¸å¯å¨å¤å¶ã
注æäºé¡¹ï¼è¿éè¦ç¨ mysqldump --single-transaction --master-data=2ï¼è®°å½å¤ä»½å¿«ç §å¯¹åºç GTID
åºæ¯ 2
å¦æå¤å¶æ¥éåï¼ä½¿ç¨è·³è¿é误ãå¤å¶è¿æ»¤çåæ³ä¿®å¤äºä¸»ä»å¤å¶ã主ãä»åºæ°æ®ä¸ç´å¨æ´æ°ã
ä¿®å¤æ¥éª¤ï¼
å¨ä¸»åºä¸å¤ä»½è¡¨ t ï¼å设å¤ä»½å¿«ç § GTID为 aaaa:1-10000ï¼ï¼
åæ¢ä»åºå¤å¶ï¼GTID为 aaaa:1-20000ï¼
æ¢å¤è¡¨ t å°ä»åºï¼
å¯å¨å¤å¶ã
è¿éçé®é¢æ¯å¤å¶èµ·å§ä½ç¹æ¯ aaaa:20001ï¼aaaa:10000-20000 è¿äºäºå¡å°ä¸ä¼å¨ä»åºä¸åæ¾ï¼å¦æè¿éé¢æä¿®æ¹è¡¨ t æ°æ®çäºå¡ï¼ä»åºä¸å°ä¸¢å¤±è¿é¨åæ°æ®ã
解å³åæ³ï¼ä»å¤ä»½å¼å§å°å¯å¨å¤å¶ï¼éå®è¡¨ tï¼ä¿è¯ aaaa:10000-20000 ä¸æ²¡æä¿®æ¹è¡¨ t çäºå¡ã
æ£ç¡®ä¿®å¤æ¥éª¤ï¼
对表 t å 读éï¼
å¨ä¸»åºä¸å¤ä»½è¡¨ tï¼
åæ¢ä»åºå¤å¶ï¼æ¢å¤è¡¨ tï¼
å¯å¨å¤å¶ï¼
解é表 tã
å¦ææ¯å¤§è¡¨ï¼è¿éå¯ä»¥ç¨å¯ä¼ è¾è¡¨ç©ºé´æ¹å¼å¤ä»½ãæ¢å¤è¡¨ï¼åå°é表æ¶é´ã