欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL之容災(zāi)方案解讀

 更新時(shí)間:2023年03月13日 09:21:44   作者:Demonson  
這篇文章主要介紹了MySQL之容災(zāi)方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

MySQL容災(zāi)方案

容災(zāi)方案

目前有以下三種容災(zāi)方案可供參考:

1.主從半同步復(fù)制+手動(dòng)切換

方案介紹:由兩臺(tái)服務(wù)器上的數(shù)據(jù)庫(kù)實(shí)例搭建主從架構(gòu),兩個(gè)實(shí)例之間的數(shù)據(jù)同步使用MySQL半同步復(fù)制機(jī)制。主機(jī)綁定VIP,在主庫(kù)故障后手動(dòng)將VIP綁定至備機(jī),將上層請(qǐng)求切換至備庫(kù),備庫(kù)寫(xiě)入數(shù)據(jù)后成為新主,原主實(shí)例恢復(fù)后成為新主的備庫(kù),具體架構(gòu)圖如下:

優(yōu)點(diǎn):不存在VIP漂移問(wèn)題,規(guī)避因底層同步延時(shí)導(dǎo)致的數(shù)據(jù)不一致。

缺點(diǎn):故障時(shí)需要人工介入,效率低。

2.主從半同步復(fù)制+keepalived自動(dòng)切換

方案介紹:由兩臺(tái)服務(wù)器上的數(shù)據(jù)庫(kù)實(shí)例搭建主從架構(gòu),VIP綁定在主實(shí)例上,程序通過(guò)VIP將數(shù)據(jù)寫(xiě)入主庫(kù)。主實(shí)例由keepalived中間件通過(guò)腳本判活,如果檢測(cè)失敗則停止主機(jī)keepalived服務(wù),VIP漂至從機(jī),程序數(shù)據(jù)繼續(xù)入庫(kù),具體架構(gòu)圖如下:

優(yōu)點(diǎn):實(shí)現(xiàn)故障自動(dòng)切換,無(wú)需人工干預(yù)

缺點(diǎn):如存在網(wǎng)絡(luò)閃斷等情況影響存活判斷,可能會(huì)導(dǎo)致主從多次切換,造成潛在數(shù)據(jù)不一致問(wèn)題

阿里云MySQL RDS使用的高可用方案如下圖所示,兩臺(tái)數(shù)據(jù)庫(kù)實(shí)例組成主從模式,正常情況下應(yīng)用層通過(guò)SLB訪問(wèn)主庫(kù),從庫(kù)不可訪問(wèn);主庫(kù)故障則SLB自動(dòng)切換至連接從庫(kù),上層應(yīng)用無(wú)感知。

同時(shí)也支持手動(dòng)模式進(jìn)行實(shí)例切換,具體架構(gòu)圖如下:

優(yōu)點(diǎn):數(shù)據(jù)庫(kù)托管給云平臺(tái),降低運(yùn)維成本

缺點(diǎn):費(fèi)用較高

MySQL異地備份策略容災(zāi)腳本--shell

由于公司的機(jī)器異地的是win主機(jī),需要把linux的備份腳本遠(yuǎn)程傳輸?shù)竭@臺(tái)win上,所以我選擇ftp,大家可以使用wput會(huì)好很多,而且比較強(qiáng)大;

[root@Mysql28 shell]# cat test.sh?
#!/bin/bash
#tar xvzfi --------commond
backupdir=/data/back_up/mysql
ip_d=192.168.155.139
full_d=cctalk_full
date_d=$(date "+%Y%m%d%H%M%S")
DataBakName=$ip_d.$date_d.$full_d.tar.gz ? ? ? ? ? ? ? ? ? ? ? ? ?--------------全備下來(lái)后的名稱(chēng)策略,例如;192.168.155.139.20131126134602.cctalk_full.tar.gz
ftp_backup="D:\\dbbackup\\fullbackup" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?--------------異地的目標(biāo)存放全備路徑
mkdir -p $backupdir
find $backupdir -mtime +10 -type d ?-exec rm -rf {} \; ? ? ? ? ? ? ? ? ------------剔除保留10天以外的全備腳本;
innobackupex ?--user=root ?--password="root" --databases="test" ?--parallel=12 ?--no-lock --defaults-file=/etc/my.cnf --stream=tar ?/data/back_up/mysql/ ?2>/tmp/mysqlbackup.log|gzip -1 - >/data/back_up/mysql/$DataBakName ? ? ?--------innobackup的全備腳本,以及壓縮,gzip -1比較快,大家可以用-9壓縮的效率高,不過(guò)比較慢
ftp -v -n 192.168.25.163 << END ? ? ---ftp,同樣可以使用wput來(lái)更快更方便的傳輸!
user ftpuser xxxxxxx ? ? ? -----------------fpt的賬號(hào)和密碼!
type binary
cd fullbackup
lcd $backupdir
put $DataBakName
bye
END

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論