mycat1.6 +mysql5.7數(shù)據(jù)庫(kù)讀寫分離+主從復(fù)制

登錄mycat 命令:mysql -uroot -p123456 -h 192.168.57.98 -P8066

1. 主庫(kù)只負(fù)責(zé)讀,備庫(kù)只負(fù)責(zé)寫,一主一備

當(dāng)備庫(kù)掛掉時(shí),無(wú)法讀取數(shù)據(jù)

當(dāng)主庫(kù)掛掉時(shí),無(wú)法寫數(shù)據(jù),但是還能讀取數(shù)據(jù)

第一種情況:當(dāng)配置為 balance=3;writetype=1;switch=0或者switch=1;

當(dāng)備庫(kù)掛掉時(shí),無(wú)法讀取數(shù)據(jù)

當(dāng)主庫(kù)掛掉時(shí),無(wú)法寫數(shù)據(jù),但是還能讀取數(shù)據(jù)

第二種情況:當(dāng)配置為balance=3;writetype=1;switch=2時(shí)

主庫(kù)掛掉既不能讀也不能寫

備庫(kù)掛掉即能讀也能寫


配置的文件如下:


有兩個(gè)參數(shù)需要注意,balance和 switchType。其中,balance指的負(fù)載均衡類型,目前的取值有4種:

balance=“0”, 不開啟讀寫分離機(jī)制,所有讀操作都發(fā)送到當(dāng)前可用的writeHost上;

balance=“1”,全部的readHost與stand by writeHost參與select語(yǔ)句的負(fù)載均衡,簡(jiǎn)單的說(shuō),當(dāng)雙主雙從模式(M1->S1,M2->S2,并且M1與 M2互為主備),正常情況下,M2、S1、S2都參與select語(yǔ)句的負(fù)載均衡;如果是雙主雙從架構(gòu),正常情況下,只有第一臺(tái)主庫(kù)充當(dāng)寫操作,其余的三臺(tái)全部是從讀

balance=“2”,所有讀操作都隨機(jī)的在writeHost、readhost上分發(fā);

balance=“3”,所有讀請(qǐng)求隨機(jī)的分發(fā)到wiriterHost對(duì)應(yīng)的readhost執(zhí)行,writerHost不負(fù)擔(dān)讀壓力。

heartbeat 標(biāo)簽指明用于和后端數(shù)據(jù)庫(kù)進(jìn)行心跳檢查的語(yǔ)句。

? ? ? 可以使用兩種方式檢查:? select user() 或者show slave status

write type

writeType="0", 所有寫操作發(fā)送到配置的第一個(gè) writeHost,第一個(gè)掛了切到第二個(gè)writeHost,重新啟動(dòng)后已切換后的為準(zhǔn),切換記錄在配置文件中:dnindex.properties .

writeType="1",所有寫操作都隨機(jī)的發(fā)送到配置的 writeHost,1.5以后已經(jīng)廢棄了。

writeType="2",沒實(shí)現(xiàn)。 -1 表示不自動(dòng)切換 1 默認(rèn)值,自動(dòng)切換 2 基于MySQL 主從同步的狀態(tài)決定是否切換

switchType指的是切換的模式,目前的取值也有4種:

switchType=’-1’ 表示不自動(dòng)切換;

switchType=‘1’ 默認(rèn)值,表示自動(dòng)切換;

switchType=‘2’?基于MySQL主從同步的狀態(tài)決定是否切換,心跳語(yǔ)句為 show slave status;

switchType='3’基于MySQL galary cluster的切換機(jī)制(適合集群)(1.4.1),心跳語(yǔ)句為 show status like ‘wsrep%’。

2. 一主一備,主備都能讀寫,主庫(kù)down掉后 就以從庫(kù)為準(zhǔn)了,就算主庫(kù)恢復(fù)了,還是以從庫(kù)為準(zhǔn)

配置:當(dāng)配置為 balance=2;writetype=0;switch=1;

? ? 當(dāng)主庫(kù)和備庫(kù)都能讀寫,當(dāng)主庫(kù)和備庫(kù)隨機(jī)讀,主庫(kù)down了以從庫(kù)為準(zhǔn)進(jìn)行讀寫,當(dāng)主庫(kù)恢復(fù)后,讀還是隨機(jī)的兩臺(tái)機(jī)器,但是寫數(shù)據(jù)以從庫(kù)為準(zhǔn),無(wú)法恢復(fù)到從主庫(kù)進(jìn)行寫了

3. 雙主、互為主備

互為主備:只要把slave節(jié)點(diǎn)也按照master節(jié)點(diǎn)進(jìn)行配置,就可以實(shí)現(xiàn)雙向的主從復(fù)制。

從庫(kù)新增用戶:grant replication slave,replication client on *.* to 'slave'@'192.168.57.98' identified by 'Zdkx#2021';

從庫(kù)指定master地址:change master to master_host='192.168.56.46', master_user='slave', master_password='Zdkx#2021', master_port=3306, master_log_file='mysql-bin.000020', master_log_pos=941, master_connect_retry=30;

配置:當(dāng)配置為 balance=1;writetype=0;switch=1;

schema 配置如下:

4.多主多備,請(qǐng)修改 readhost和writehost數(shù)量


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容