mysql的并行復制
并行復制的介紹
MySQL 5.6版本也支持所謂的并行復制,但是其并行只是基于schema的,也就是基于庫的。如果用戶的MySQL數據庫實例中存在多個schema,對于從機復制的速度的確可以有比較大的幫助。
MySQL 5.7版本支持兩種復制方式:基于庫的復制方式和基于組的復制方式。
為了兼容MySQL 5.6基于庫的并行復制,5.7引入了新的變量slave-parallel-type,其可以配置的值有:
DATABASE:默認值,基于庫的并行復制方式
LOGICAL_CLOCK:基于組提交的并行復制方式
多線程的思路就是把sql_thread 變成分發線程,然后由一組worker_thread來負責執行。
幾乎所有的并行復制都是這個思路,有不同的,便是sql_thread 的分發策略。
實驗步驟
**此實驗在基于GTID的主從復制基礎上進行。** 在從機上做如下操作: [root@server2 mysql]# vim /etc/my.cnf
server-id=2
gtid-mode=on
enforce-gtid-consistency=1
slave-parallel-type=LOGICAL_CLOCK(選擇組提交的并行提交方式)
slave-parallel-workers=10(并行work數)
master_info_repository=TABLE(以TABLE方式保存)以表的方式進行存儲,默認是文件文件對刷盤要求高,損耗磁盤。也可file和table同時
relay_log_info_repository=TABLE
relay_log_recovery=ON(恢復機制打開)
[root@server2 mysql]# systemctl restart mysqld(重啟mysqld)
登錄mysqld
mysql> use mysql;
查看線程:
智能推薦
書生筆記-MySQL5.7并行復制實驗
一,配置文件 master_info_repository=TABLE relay_log_info_repository=TABLE slave_parallel_type = LOGICAL_CLOCK slave_parallel_workers=2 slave_preserve_commit_order=1 驗證: 二,日志解析 當前模式: COMMIT_ORDER (默認方式) mysq...
并行復制的從庫執行FTWRL死鎖
最近線上執行備份的從庫遇到兩個死鎖,show full processlist的狀態圖如下,數據庫版本基本是官方5.7.18版本,我們內部做了些許修改,與此次死鎖無關。 先說一下結論,圖一中162線程是執行innobackup執行的flush tables with read lock; 144是sql線程,并行復制中的Coordinator線程,145/146是并行復制的worker線程,145...
mysql主從復制、半同步復制、并行復制、多組復制
一、主從復制 redhat6.5 master:server1 172.25.35.52 slave:server3 172.25.35.53 master: slave: 測試: master:添加數據庫 slave:查看到同步過來 二、Gtid主從復制 測試: master:給數據庫插入內容 slave:可以同步過來 三、半同步復制 master: timeout 10s,超過該時間會轉為異步...
mysql主從復制,基于GTID主從復制,并行復制,半同步復制
復制功能: 復制方式: 復制原理: Mysql復制特點: 主從復制: mysql主從復制原理: AB機的主從復制: 如果想要配置一主多從,從節點配置相同,server-id不同即可 實驗環境: 主端: 從端: 主端初始化完成: 主端添加授權: 圖文Position應該是一致的,因為每次作會有變化。 從端可以登陸主端 從端初始化: 從端可以連接并查看slave信息: 主端建立數據庫數據表插入字段用于...
mysql主從復制 | 級聯方式復制 | 并行復制 | 半同步復制 | 全同步
兩種模式 注意: 去中心化server3找server2,server2找server1 -------級聯,這樣降低了server1的負載 配置mysql是,很多問題直接看報錯日志就可以解決!!!!! 主從復制是單向的,不能在從機直接操作數據庫寫數據 主從復制的基礎是在底層數據一致上才能搭建,如果不一致,一定要先同步數據在slave上 /////////////////...
猜你喜歡
mysql基于GTID主從復制+并行復制+增強半同步復制+讀寫分離
GTID即全局事務ID(global transaction identifier),GTID實際上是由UUID+TID組成的。其中UUID是一個MySQL實例的唯一標識。TID代表了該實例上已經提交的事務數量,并且隨著事務提交單調遞增,所以GTID能夠保證每個MySQL實例事務的執行(不會重復執行同一個事務,并且會補全沒有執行的事務)。下面是一個GTID的具體形式: 4e659069-3cd8-...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...