亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

分析MySQL復制以及調優原理和方法

2024-07-24 13:15:23
字體:
來源:轉載
供稿:網友

一. 簡介

MySQL自帶復制方案,帶來好處有:

數據備份。

負載均衡。

分布式數據。

概念介紹:

主機(master):被復制的數據庫。

從機(slave):復制主機數據的數據庫。

復制步驟:
(1). master記錄更改的明細,存入到二進制日志(binary log)。
(2). master發送同步消息給slave。
(3). slave收到消息后,將master的二進制日志復制到本地的中繼日志(relay log)。
(4). slave重現中繼日志中的消息,從而改變數據庫的數據。

下面放一張經典的圖片來說明這一過程:

MySQL,復制,調優

二. 實現復制

實現復制有以下步驟:

1.設置MySQL主庫的二進制日志以及server-id

MySQL配置文件一般存放在/etc/my.cnf

# 在[mysqld]下面添加配置選項[mysqld]server-id=1log-bin=mysql-bin.log

server-id是數據庫在整個數據庫集群中的唯一標示,必須保持唯一。
重啟MySQL。

注:如果MySQL配置文件中已經配置過此文件,則可以跳過此步。

2.新建復制賬號

在主庫里面新建用于從庫復制主庫數據的賬號,并授予復制權限。

mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO user_name@'host' IDENTIFIED BY 'password';

3.設置MySQL主庫server-id

和第二步配置一樣,要注意的地方有兩點:

如果不需要從庫作為別的從庫的主庫的話,則不需要配置二進制日志。很多時候復制并不需要復制主庫的全部數據庫(特別是mysql的信息配置庫)。因此可以配置replicate_do_db來指定復制的數據庫 4.從庫初始化主庫的數據

如果數據量不算大的情況下,可以使用mysqldump工具導出主庫數據,然后導入到從庫里面。

mysqldump --single-transaction --triggers --master-data databasename > data.sql

如果數據量大的情況下應該使用Xtrabackup去進行數據庫的導出,此處不做介紹。
可能會有同學問,為什么不直接使用二進制日志進行初始化呢?

如果我們主庫運行了比較長的一段時間,并不太適合使用從庫根據二進制日志進行復制數據,直接使用二進制日志去初始化從庫會比較耗費時間和性能。更多的情況下,主庫的二進制日志的配置項沒有打開,因此也就不存在以前操作的二進制日志。 5.開啟復制

從庫執行下面命令

mysql> CHANGE MASTER TO MASTER_HOST='host',-> MASTER_USER='user',-> MASTER_PASSWORD='password',-> MASTER_LOG_FILE='mysql-bin.000001',-> MASTER_LOG_POS=0;

注意最后的兩個命令:MASTER_LOG_FILE和MASTER_LOG_POS,表示從庫的從哪個二進制文件開始讀取,偏移量從那里開始,這兩個參數可以從我們導入的SQL里面找到。

MySQL,復制,調優

開啟復制

start slave;

這時候就完成了復制,在主庫更新一個數據或者新增數據在從庫都可以查詢到結果。

MySQL,復制,調優

在主庫上也可以查詢的到復制線程的狀態。

MySQL,復制,調優

三. 復制的日志格式

MySQL復制的日志格式有三種,根據主庫存放數據的方式不同有以下三種:

 

復制方式 特點 優點 缺點
row 基于行的格式復制,記錄需要修改的每行的數據信息。 如果一個SQL修改了2w行的數據,那么就會記錄2w行的日志格式 保證了數據的強一致性,且由于記錄的是執行后的結果,在從庫上執行還原也會比較快 日志記錄數量很多,主從之間的傳輸需要更多的時間。
statement 基于段的日志格式復制,也就是記錄下更改的SQL記錄,而不是更改的行的記錄。 日志記錄量最小。 對于一些輸出結果不確定的函數,在從庫上執行一遍很可能會出現問題,如uuid,從庫根據日志還原主庫數據的時候需要執行一遍SQL,時間相對較慢。
mixed 混合上面兩種日志格式記錄記錄日志,至于什么時候使用哪種日志方式由MySQL本身決定。 可以平衡上面兩種日志格式的優缺點。  

 

mysql5.7以前默認使用statement格式。

設置方式,可以在配置文件設置(首選):

binlog_format=ROW

或臨時設置全局變量(當前mysql連接有效):

查看日志格式mysql > show variables like 'binlog_format';設置日志格式mysql > set binlog_format='row';

由于兩個主從服務器一般都會放在同一個機房里面,兩者之間同步的速度會會比較快,為保證強一致性,應該首選行的日志格式記錄(row),保證傳輸素速度可以選擇混合方式(mixed)。
而行的日志格式有下面三種記錄方式:

 

記錄方式 特點
minimal 只記錄被修改列的數據
full 記錄被修改的行的全部列的數據
noblob 特點同上,只是如果沒有修改blob和text類型的列的情況下,不會記錄這些列的數據(也就是大數據列)

 

 

mysql默認是full,最好修改成minimal。

binlog_row_image=minimal

四. 主從復制延遲

由于主庫和從庫之間不在同一個主機上,數據同步之間不可以避免地具有延遲,解決的方法有添加緩存,業務層的跳轉等待,如果非得從數據庫層面去減緩延遲問題,可以從復制時候的三大步驟(主庫產生日志,主從傳輸日志,從庫還原日志內容)入手:

1.主庫寫入到日志的速度

控制主庫的事務大小,分割大事務為多個小事務。

如插入20w的數據,改成插入多次5000行(可以利用分頁的思路)

2.二進制日志在主從之間傳輸時間

主從之間盡量在同一個機房或地域。

日志格式改用MIXED,且設置行的日志格式未minimal,原理詳見上面的日志格式介紹。

3.減少從庫還原日志的時間

在MySQL5.7版本后可以利用邏輯時鐘方式分配SQL多線程。

設置邏輯時鐘:slave_parallel_type=‘logical_clock';

設置復制線程個數:slave_parallel_workers=4;

五. 需要注意的地方

重啟MySQL最好切換未MySQL用戶再進行操作,不然文件啟動后會有權限問題。搭建好MySQL的環境后就設置好配置里的log-bin選項,這樣以后如果數據庫需要從庫的復制,就不需要重啟數據庫,打斷業務的進行。需要打開主庫的防火墻的對應的mysql端口。由于從庫同步主庫的方式,監聽主庫發送的信息,而不是輪詢,因此如果出現通信出現了故障,重新連接后如果主庫沒有進行數據更改的操作,從庫不會同步數據,因此可以通過插入空事務的方式同步數據。

以上就是小編本次整理的全部內容,感謝你對VeVb武林網的支持。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
北条麻妃一区二区在线观看| 国产亚洲日本欧美韩国| 亚洲91精品在线| 久久久亚洲福利精品午夜| 国产成人aa精品一区在线播放| 精品中文字幕视频| 日韩欧美亚洲国产一区| 国产婷婷成人久久av免费高清| 91在线网站视频| 亚洲黄色av女优在线观看| 日韩电影免费在线观看中文字幕| 国产美女久久精品香蕉69| 国产精品丝袜久久久久久高清| 亚洲一区二区三区四区在线播放| 在线看日韩av| 日日狠狠久久偷偷四色综合免费| 国内揄拍国内精品少妇国语| 日韩大陆毛片av| 国产成人精品一区二区| 久久久久久12| 国产精品海角社区在线观看| 国产区亚洲区欧美区| 国产成人自拍视频在线观看| 欧美黄色三级网站| 亚洲国产成人在线视频| 亚洲天堂久久av| 亚洲自拍欧美色图| 国产美女搞久久| 深夜福利亚洲导航| 日韩欧美国产激情| 亚洲欧美日韩综合| 亚洲第一免费播放区| 国产在线视频欧美| 国产一区二区三区精品久久久| 欧美精品成人在线| 成人久久久久久久| 亚洲国产成人精品久久| 成人在线中文字幕| 亚洲在线免费观看| 久久亚洲精品成人| 亚洲在线www| 精品久久中文字幕久久av| 久久久久久久久中文字幕| 欧美肥臀大乳一区二区免费视频| 欧美日韩另类字幕中文| 欧美电影在线观看完整版| 精品国产视频在线| 亚洲激情中文字幕| 欧美精品成人在线| 欧美亚洲成人精品| 欧美肥老妇视频| 色视频www在线播放国产成人| 91精品久久久久久久久| 欧美日韩在线第一页| 日韩亚洲综合在线| 96精品视频在线| 色婷婷av一区二区三区在线观看| 国产a∨精品一区二区三区不卡| 亚洲天堂网在线观看| 欧美wwwwww| 亚洲性夜色噜噜噜7777| 日韩在线视频免费观看高清中文| 欧美高清激情视频| 亚洲黄色av女优在线观看| 色综合久久天天综线观看| 91高清视频在线免费观看| 亚洲国产精品一区二区久| 日韩在线激情视频| 日韩av片永久免费网站| 久久人人爽人人爽人人片av高清| 成人免费黄色网| 国产视频丨精品|在线观看| 日韩成人激情视频| 成人黄色av免费在线观看| 日韩亚洲欧美中文高清在线| 日韩中文字幕免费视频| 久久精品国产亚洲精品| 欧美中文字幕视频在线观看| 精品国产999| 欧美亚洲国产成人精品| 成人黄色av免费在线观看| 欧美另类极品videosbestfree| 日韩精品视频在线观看网址| 精品免费在线观看| 北条麻妃久久精品| 欧洲精品毛片网站| 亚洲女同精品视频| 亚洲影院高清在线| 成人美女免费网站视频| 国产成人在线精品| 色哟哟网站入口亚洲精品| 欧亚精品中文字幕| 日韩成人久久久| 丰满岳妇乱一区二区三区| 久久久精品2019中文字幕神马| 亚洲风情亚aⅴ在线发布| 亚洲国产成人av在线| 97av在线视频免费播放| 欧美裸体xxxx极品少妇软件| 日韩精品极品视频免费观看| 亚洲va电影大全| www.日韩不卡电影av| 一区二区欧美日韩视频| 亚洲人成网站999久久久综合| 97久久精品人人澡人人爽缅北| 国产99久久精品一区二区 夜夜躁日日躁| 一区二区亚洲精品国产| 亚洲一区av在线播放| 国产精品99久久久久久www| 亚洲色图第一页| 久久免费少妇高潮久久精品99| 国产+成+人+亚洲欧洲| 国产精品久久久久一区二区| 久久国产精品影片| 久久久亚洲天堂| 97超碰国产精品女人人人爽| 久久免费视频网站| 美日韩在线视频| 亚洲自拍偷拍福利| 欧美老女人bb| 国产剧情久久久久久| 国产欧美日韩中文| 欧美日韩xxx| 亚洲自拍av在线| 久久久久久999| 热99精品里视频精品| 久久久久日韩精品久久久男男| 欧美最猛性xxxx| 久久久女女女女999久久| 亚洲在线视频福利| 高清一区二区三区四区五区| 亚洲高清在线观看| 精品电影在线观看| 91九色综合久久| 亚洲欧美第一页| 亚洲一区二区日本| 欧美激情国产高清| 色婷婷久久一区二区| 91欧美视频网站| 国产精品99一区| 亚洲sss综合天堂久久| 久久精品人人爽| 亚洲一区二区久久| 亚洲免费小视频| 黑人巨大精品欧美一区免费视频| 中日韩美女免费视频网址在线观看| 国产精品永久免费视频| 欧美性受xxxx白人性爽| 久久中文精品视频| 日韩高清免费在线| 97视频在线播放| 欧美裸体视频网站| 日韩欧美中文字幕在线播放| 日韩中文字幕视频在线观看| 欧美成人黑人xx视频免费观看| 欧美午夜精品久久久久久浪潮| 欧美亚洲第一页| 日本成熟性欧美| 成人免费网站在线看| 亚洲男人天堂古典| 久久久国产精彩视频美女艺术照福利| 国产一区二区三区久久精品| 亚洲成年人在线播放| 亚洲精品91美女久久久久久久|