1. 大批量亂序數據導入InnoDB很慢如何解決?
InnoDB因為主鍵聚集索引的關系,如果沒有主鍵或者主鍵非序列的情況下,導入會越來越慢,如何快速的遷移數據到InnoDB?借助MyISAM的力量 是很靠譜的,先關閉InnoDB的Buffer Pool,把內存空出來,建一張沒有任何索引的MyISAM表,然后只管插入吧,concurrent_insert=2,在文件末尾并發插入,速度剛剛 的,插入完成后,ALTER TABLE把索引加上,記得還有ENGINE=InnoDB,就把MyISAM轉到InnoDB了,這樣的速度遠比直接往InnoDB里插亂序數據來得快。
2. 在基于ROW的雙Master復制下,如何快速大批量訂正?
在A<->B的雙Master結構下,假設只有一臺提供服務,這是我們常用的架構,需要大批量訂正數據,如何做最快?用存儲過程一批批提交?這有很多的限制,有時候并不可以把一條或多條SQL拆成幾段,怎么辦呢?binlog不是很好的工具嘛?! ROW格式的binlog,Slave在應用時是直接使用Handler API,并沒有走SQL解析,速度非常快,基本上是IO操作了,那么我們可以在備庫上直接執行訂正SQL,產生的ROW binlog傳到主機,就會很快訂正完,基本上都比寫存儲過程快。
3. ROW格式Replication如何實現不帶庫名的replicate-do-db?
雖然MySQL有replicate-do-db這個參數,但是在ROW格式的binlog下必須使用”db.table”的方式才能生效,USE對ROW格式是無效的。現在我有一個Instance,只需要復制Master的某幾個庫,但是是ROW格式,SQL都 沒有使用db前綴,怎么辦?可以這么做,把主庫需要的庫導出來,不需要的庫導出結構即可,在Slave導入這些數據及結構,配置skip-slave- errors=all,這樣Master復制過來的binlog,只要發現有庫有表結構,就不會報找不到表,就不會阻塞復制,但是 UPDATE/DELETE過來沒有數據也會被跳過錯誤,間接的實現了replicate-do-db。
4. A<
主站蜘蛛池模板:
汤原县|
灵山县|
洪雅县|
循化|
漳浦县|
綦江县|
安阳市|
五莲县|
黔江区|
青铜峡市|
齐齐哈尔市|
邵东县|
岳普湖县|
木兰县|
托克逊县|
开远市|
宁强县|
永胜县|
平果县|
法库县|
睢宁县|
郸城县|
柳江县|
新河县|
商河县|
兴山县|
曲靖市|
麟游县|
苍南县|
仙游县|
修武县|
育儿|
南安市|
米泉市|
漯河市|
威宁|
界首市|
罗甸县|
微博|
舒兰市|
会同县|