亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Windows下搭建MySQL Master Slave

系統(tǒng) 2199 0

一、 背景

服務(wù)器上放了很多MySQL數(shù)據(jù)庫,為了安全,現(xiàn)在需要做Master/Slave方案,因?yàn)椴僮飨到y(tǒng)是Window的,所以沒有辦法使用keepalived這個HA工具,但是我們可以接受人工進(jìn)行切換,有什么好的方案呢?

?

二、 幾種Master/Slave邏輯架構(gòu)圖

clip_image001

(Figure1:單Master-單Slave)

clip_image002

(Figure2:單Master-多Slave)

clip_image004

(Figure3:單Master-級聯(lián)Slave)

clip_image006

(Figure4:Master/Slave部署邏輯圖)

?

三、 搭建過程

環(huán)境:Windows Server 2008 R2 + mysql-5.5.22-winx64

主服務(wù)器(Master):192.168.1.66

從服務(wù)器(Slave):192.168.1.67

使用Master/Slave架構(gòu),Slave為只讀模式;

?

(一)? 配置主服務(wù)器(Master)

1.? 編輯數(shù)據(jù)庫配置文件my.ini,在[mysqld]標(biāo)簽下面加入下面代碼:

log-bin=mysql-bin

server-id=1

innodb_flush_log_at_trx_commit=1

sync_binlog=1

binlog_do_db=barfoo_weibo_hottop

binlog_ignore_db=mysql

說明:

1) log-bin=mysql-bin啟用Binary Log,會在數(shù)據(jù)文件夾中生成一系列的滾動文件,類似:mysql-bin.000002

2) server-id=1中的1可以任定義,只要是唯一的就行,為了與其它Master和Slave進(jìn)行區(qū)別;

3) innodb_flush_log_at_trx_commit = 0,每秒寫一次trax log,并執(zhí)行fsync;

innodb_flush_log_at_trx_commit = 1,每次trax 提交的時候?qū)懸淮蝨rax log, 并執(zhí)行fsync;

innodb_flush_log_at_trx_commit = 2,每次trax 提交的時候?qū)懸淮蝨rax log, 不會執(zhí)行fsync;

4) sync_binlog=1表示異步進(jìn)行日志記錄;

5) binlog_do_db=barfoo_weibo_hottop是表示只對數(shù)據(jù)barfoo_weibo_hottop做日志記錄,如果想記錄多個數(shù)據(jù)庫,添加多幾條binlog_do_db就可以了;

6) binlog_ignore_db=mysql表示忽略備份mysql;不加binlog_do_db和binlog_ignore_db,那就表示備份全部數(shù)據(jù)庫。

2.? 重啟MySQL服務(wù)

3.? 在Master服務(wù)器新建一個用戶賦予“REPLICATION SLAVE”的權(quán)限,你不需要再賦予其它的權(quán)限,這里指定的IP為Slave的IP;

mysql>CREATE USER viajar@'192.168.1.67' IDENTIFIED BY 'BarFoo2013';

mysql>GRANT REPLICATION SLAVE ON *.* TO viajar@'192.168.1.67' IDENTIFIED BY 'abc2013';

4.? 在Master服務(wù)器執(zhí)行下面的腳本,讓數(shù)據(jù)庫只能讀;

mysql>FLUSH TABLES WITH READ LOCK;

5.? 拷貝數(shù)據(jù)庫文件夾和ibdata1文件到本地臨時文件夾中,馬上執(zhí)行下面的步驟;

6.? 查看Master服務(wù)器的狀態(tài) ,記下File及Position的值,后面設(shè)置Slave服務(wù)器的時候需要用到;

mysql>SHOW MASTER logs;

mysql>SHOW MASTER STATUS;

clip_image008

(Figure1:Master狀態(tài))

7.? 對表進(jìn)行解鎖,恢復(fù)數(shù)據(jù)庫讀寫;

mysql>UNLOCK TABLES;

8.? 使用FTP等工具把第5步驟的臨時文件傳到Slave服務(wù)器;

?

(二)? 配置從服務(wù)器(Slave)

1.? 編輯數(shù)據(jù)庫配置文件my.ini,在[mysqld]的下面加入下面代碼,可以自己定義數(shù)值,只要保證唯一的就行,與Master的能區(qū)分開就行;

server-id=2

read-only=1

2.? 重啟MySQL

3.? 登錄MySQL服務(wù)器,執(zhí)行下面的腳本命令:

mysql>CHANGE MASTER TO

MASTER_HOST='192.168.1.66',

MASTER_USER='viajar',

MASTER_PASSWORD='abc2013',

MASTER_PORT=3309,

MASTER_LOG_FILE='mysql-bin.000005',

MASTER_LOG_POS=7179684,

MASTER_CONNECT_RETRY=30;

說明:

1) MASTER_HOST:Master服務(wù)器的IP;

2) MASTER_USER:配置主服務(wù)器時建立的用戶名;

3) ASTER_PASSWORD:用戶名對應(yīng)的密碼;

4) ASTER_PORT:主服務(wù)器mysql端口,如果未曾修改,默認(rèn)即可;

5) MASTER_LOG_FILE:log文件名,參考Figure1;

6) MASTER_LOG_POS:只上次備份時的log文件的偏移量,參考Figure1;

7) MASTER_CONNECT_RETRY:重新連接Master的時間間隔,單位為秒;

4.? 啟動Slave進(jìn)程,執(zhí)行下面的腳本命令;

mysql>START SLAVE;

5.? 檢查主從同步狀態(tài),執(zhí)行下面的腳本命令,其中Slave_IO_Running 與 Slave_SQL_Running 的值都必須為YES,才表明狀態(tài)正常。

mysql>SHOW SLAVE STATUS;

clip_image010

(Figure2:Slave狀態(tài)1)

clip_image011

(Figure3:Slave狀態(tài)2)

6.? 查看Slave服務(wù)器的MySQL日志;

clip_image012

(Figure4:Slave日志文件)

?

四、 補(bǔ)充說明

1. 查看幫助

mysql>help

2. 查看slave幫助

mysql>help slave

3. 查找當(dāng)前有哪些二進(jìn)制日志文件

mysql> show binary logs;

4. 刪除mysql-bin.000018之前的所有二進(jìn)制日志文件

mysql> purge binary logs to 'mysql-bin.000018';

5. 從 MySQL 5.1.12 開始,能夠用以下三種形式來告終:基于SQL語句的復(fù)制(statement-based replication, SBR),基于行的復(fù)制(row-based replication, RBR),混雜形式復(fù)制(mixed-based replication, MBR)。相應(yīng)地,binlog的款式也有三種:STATEMENT,ROW,MIXED。MBR 形式中,SBR 形式是默認(rèn)的。

#binlog_format="STATEMENT"?
#binlog_format="ROW"?
#binlog_format="MIXED"

當(dāng)然了,也能夠在運(yùn)行時動態(tài)修正binlog的款式。例如

mysql> SET SESSION binlog_format = 'STATEMENT';?
mysql> SET SESSION binlog_format = 'ROW';?
mysql> SET SESSION binlog_format = 'MIXED';

mysql> SET GLOBAL binlog_format = 'STATEMENT';?
mysql> SET GLOBAL binlog_format = 'ROW';?
mysql> SET GLOBAL binlog_format = 'MIXED';

6. MySQL同步故障:Slave_SQL_Running:No

mysql> slave stop;

mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

mysql> slave start;

?

五、 疑問

(一) 復(fù)制級別有以下幾種,默認(rèn)級別是那種?如何顯式設(shè)置這個值?

1. Row Level:5.1.5開始支持。mater記錄每行數(shù)據(jù)的更改日志,slave根據(jù)日志逐行應(yīng)用。優(yōu)點(diǎn):數(shù)據(jù)一致性更有保障。缺點(diǎn):可能造成日志文件比較大;

2. Statement Level:master記錄每個執(zhí)行的query語句以及一些上下文信息,slave節(jié)點(diǎn)根據(jù)這些信息重新在slave上執(zhí)行。優(yōu)點(diǎn):binary log比較小。缺點(diǎn):某些情況下數(shù)據(jù)一致性難以保障;

3. Mixed Level:MySQL根據(jù)情況選擇哪種復(fù)制方式。5.1.8開始支持。

(二) 常用架構(gòu)有以下幾種,我想要的效果是:當(dāng)MasterA宕機(jī)之后,MasterB還能讀寫,在MasterA在恢復(fù)之后重新讓MasterA成為主Master。

1. Master-Slaves:通常都采用這種方式;

2. Dual Master(Master-Master):2個master節(jié)點(diǎn)互相同步更新。因?yàn)镸ySQL的異步復(fù)制方式,為了防止數(shù)據(jù)沖突造成的不一致性,一般僅將其中一臺用于寫操作,另一臺不用或僅用于讀操作。目的是其中一臺master停機(jī)維護(hù)或者故障中斷時可以使用另一臺master;

3. 級聯(lián)復(fù)制(Master-Slaves-Slaves):在Master Slaves中,如果slaves過多replication將增加master的負(fù)載,這時可以讓master只向其中幾臺slave分發(fā)更新日志,這幾臺slave作為一級節(jié)點(diǎn)再向下級節(jié)點(diǎn)分發(fā)更新日志。

(三) 如果slave報錯或者宕機(jī)一段時間,那么應(yīng)該如何重新同步宕機(jī)時間master的數(shù)據(jù)到slave呢?

(四) 在Master設(shè)置binlog_do_db=test的時候,如何可以設(shè)置記錄多個數(shù)據(jù)庫?

解答:直接在配置文件my.ini加入多條binlog_do_db就可以了;

(五) 每天的日志文件就有10GB,如何清理?如何維護(hù)?有沒什么設(shè)置或者方法可以減少日志量呢?

Windows下搭建MySQL Master Slave


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产欧美在线视频免费 | 伊人色综合网一区二区三区 | 精品国产品香蕉在线 | 伊人成人在线视频 | 国产精品视频a | 欧美巨大xxxx做受孕妇视频 | 四虎hk网址| 大伊香蕉在线精品不卡视频 | 热re66久久精品国产99re | 九九99| 婷婷网五月天天综合天天爱 | 亚洲成人看片 | 91精品一区二区三区久久久久 | 天天做天天爱天天影视综合 | 永久国产 | 老司机精品在线观看 | 亚洲成人免费在线视频 | 欧美精品中文字幕手机免费视频 | 久久2019| 天天草天天射 | 精品久久久久久中文字幕女 | 亚洲国产精品久久久久 | 777午夜精品被窝影院 | 欧美成人禁片在线www | 欧美日韩色| 一级一级毛片 | 久久国产乱子伦精品免费不卡 | 国产区久久| 日本一区二区三区在线观看 | 在线看亚洲 | 在线麻豆 | 色婷婷色婷婷 | chinese在线播放91国内 | 99久久国产免费福利 | 添人人躁日日躁夜夜躁夜夜揉 | 亚洲欧洲精品国产区 | 久久精品国产亚洲综合色 | 99这里只有精品视频 | 麻豆日韩| 亚洲精品乱码蜜桃久久久 | 特黄特级高清免费视频毛片 |