新聞中心
MySQL數(shù)據(jù)庫一主三從的實現(xiàn)原理主要包括以下幾個步驟:

成都創(chuàng)新互聯(lián)公司成都網(wǎng)站建設(shè)按需網(wǎng)站建設(shè),是成都網(wǎng)站建設(shè)公司,為OPP膠袋提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站營銷推廣熱線:13518219792
1、主庫配置
2、從庫配置
3、主從同步
4、故障恢復(fù)
以下是詳細(xì)的解析:
1、主庫配置
在主庫上,需要開啟二進(jìn)制日志(binary log)功能,以便記錄所有對數(shù)據(jù)的修改操作,還需要設(shè)置一個唯一的服務(wù)器ID,用于區(qū)分不同的MySQL實例。
[mysqld] logbin=mysqlbin serverid=1
2、從庫配置
在從庫上,首先需要停止復(fù)制進(jìn)程,然后設(shè)置主庫的地址、端口、用戶名和密碼等信息,接著,指定要復(fù)制的主庫上的二進(jìn)制日志文件名和位置,以及從哪個位置開始復(fù)制,啟動復(fù)制進(jìn)程,并設(shè)置只讀模式。
[mysqld] relaylog=relaybin slaveskiperrors=1062,1032,126,1114,1146,1048,1396,1698,1954,10053,35306,35307,35310,35311,35312,35305,35306,35307,35308,35313,35314,35315,35316,35317,35318,35319,35320,35321,35322,35323,35324,35325,35326,35327,35328,35329,35330,35331,35340,40902 readonly
CHANGE MASTER TO MASTER_HOST='主庫IP', MASTER_PORT=主庫端口, MASTER_USER='主庫用戶名', MASTER_PASSWORD='主庫密碼', MASTER_LOG_FILE='主庫二進(jìn)制日志文件名', MASTER_LOG_POS=主庫二進(jìn)制日志位置; START SLAVE;
3、主從同步
當(dāng)主庫上的數(shù)據(jù)發(fā)生變化時,會將這些變化寫入二進(jìn)制日志文件中,從庫通過讀取這些二進(jìn)制日志文件,將其轉(zhuǎn)換為對應(yīng)的SQL語句,然后執(zhí)行這些SQL語句,從而實現(xiàn)數(shù)據(jù)同步,這個過程可以通過以下兩種方式來實現(xiàn):
基于語句的復(fù)制:從庫將主庫的每個SQL語句都記錄下來,然后在本地執(zhí)行這些SQL語句,這種方式可能會導(dǎo)致從庫上的索引和鎖信息與主庫不一致,因此通常不推薦使用。
基于行的復(fù)制:從庫將主庫上的數(shù)據(jù)變化以行的形式記錄下來,然后在本地執(zhí)行相應(yīng)的更新操作,這種方式可以保證從庫上的索引和鎖信息與主庫一致,因此是推薦的方式。
4、故障恢復(fù)
當(dāng)主庫出現(xiàn)故障時,可以手動將從庫提升為主庫,然后將其他從庫重新設(shè)置為新的從庫,這個過程可以分為以下幾個步驟:
檢查主庫是否可用:使用SHOW MASTER STATUS命令查看主庫的狀態(tài)信息,如果主庫不可用,則需要進(jìn)行故障恢復(fù)。
選擇一個從庫作為新的主庫:可以選擇一個性能較好、負(fù)載較低的從庫作為新的主庫,可以使用SELECT FOR UPDATE命令來測試從庫的讀寫性能。
將從庫提升為主庫:在新的主庫上執(zhí)行CHANGE MASTER TO命令,將MASTER_HOST和MASTER_PORT設(shè)置為原主庫的地址和端口,然后執(zhí)行START SLAVE命令,將從庫設(shè)置為只讀模式,在其他從庫上執(zhí)行CHANGE MASTER TO命令,將MASTER_HOST和MASTER_PORT設(shè)置為新主庫的地址和端口,然后執(zhí)行START SLAVE命令,將它們設(shè)置為只讀模式。
新聞名稱:深入解析MySQL數(shù)據(jù)庫一主三從的實現(xiàn)原理
網(wǎng)站網(wǎng)址:http://m.fisionsoft.com.cn/article/dhddjcj.html


咨詢
建站咨詢
