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<
主站蜘蛛池模板:
永州市|
德化县|
丁青县|
潜江市|
虞城县|
宁津县|
西昌市|
兰溪市|
新竹市|
新宁县|
额敏县|
广宁县|
兴隆县|
扎囊县|
界首市|
沧源|
闽清县|
巴彦县|
余姚市|
舟山市|
新绛县|
卓资县|
陆良县|
青阳县|
绥德县|
茂名市|
密山市|
万州区|
北京市|
鄄城县|
正安县|
大连市|
吉林市|
湖州市|
桓仁|
嘉黎县|
宁乡县|
秦皇岛市|
德阳市|
温州市|
科尔|