什么是mysql8并行復制?
并行復制是mysql8最新的一個功能,在mysql5.6之前,復制是單線程的,只能一個一個的復制;但是在mysql8中,可以同時復制多個事件。
mysql8并行復制的優點
并行復制解決了mysql復制性能瓶頸的問題,能夠有效縮短數據同步的時間,提高mysql系統的并發處理能力,可以實現更快的數據備份、遷移等需求,穩定性更高。
mysql8并行復制的配置
mysql8并行復制的配置需要修改三個參數:slave_parallel_workers、slave_parallel_type和slave_preserve_commit_order,先分別介紹一下這三個參數的含義和作用。
slave_parallel_workers:指定并行復制的工作進程數,默認值是0,表示不啟用并行復制;
slave_parallel_type:并行復制的方式,有DATABASE和LOGICAL兩種方式,前者指定的是數據庫在不同工作進程之間的分配,后者指定的是在不同工作進程之間進行邏輯分片;
slave_preserve_commit_order:保證并行復制的順序與主庫相同,保證并行復制的一致性,但是可能會減慢復制進程的速度。
mysql8并行復制的工作原理
mysql8并行復制的工作原理是:將數據劃分為不同的組,每個組由指定數量的工作進程同時復制。每個工作進程獨立工作,只要有數據變化就會產生相應的事件。每個工作進程會將自己的數據復制到從庫,復制過程同樣是先執行commit后才能執行其他的命令,保證了并行復制的一致性。
mysql8并行復制的注意事項
使用mysql8并行復制需要注意以下幾點:
1.如果從庫使用的是row級別的復制方式,那么并行復制會導致主從數據不一致的問題;
2.并行復制會占用大量的CPU和I/O資源,在配置時需要根據自己的服務器條件進行合理的配置;
3.并行復制的配置不支持在線修改,需要在重啟mysql實例后生效。