账户系统db服务器为创建快照,Mysql 服务器同步(replication)设置.docx
Mysql 服務(wù)器同步(replication)設(shè)置
Mysql 服務(wù)器同步(replication)設(shè)置MySQL支持單向、異步復(fù)制,復(fù)制過程中一個(gè)服務(wù)器充當(dāng)主服務(wù)器,而一個(gè)或多個(gè)其它服務(wù)器充當(dāng)從服務(wù)器。主服務(wù)器將更新寫入二進(jìn)制日志文件,并維護(hù)文件的一個(gè)索引以跟蹤日志循環(huán)。這些日志可以記錄發(fā)送到從服務(wù)器的更新。當(dāng)一個(gè)從服務(wù)器連接主服務(wù)器時(shí),它通知主服務(wù)器從服務(wù)器在日志中讀取的最后一次成功更新的位置。從服務(wù)器接收從那時(shí)起發(fā)生的任何更新,然后封鎖并等待主服務(wù)器通知新的更新。環(huán)境介紹:本測(cè)試系統(tǒng)平臺(tái)為window7.各個(gè)機(jī)器的mysql版本均為5.1.38,其他版本沒有測(cè)試。一般只要是5.1.x版本,且每臺(tái)機(jī)器版本一致的情況下都適用。主從備份顧名思義,就是一臺(tái)機(jī)器作為主服務(wù)器,另外一臺(tái)或多臺(tái)作為從服務(wù)器。配置過程如下:在主服務(wù)器找到MySQL安裝目錄下(如:C:\Program Files\MySQL\MySQL Server 5.1)my.ini文件,在文件末尾添加如下代碼:server-id=1 log-bin=C:\mysqlbackbinlog-do-db=testlog-bin=C:\mysqlback#這里的mysqlback是日志文件名,C:\是路徑,在正常運(yùn)行時(shí),會(huì)在C盤下產(chǎn)生mysqlback.000001、mysqlback.000002等日志文件。如果直接設(shè)置為log-bin=mysqlback,則會(huì)在mysql的data目錄下產(chǎn)生這些mysqlback.000001、mysqlback.000002等日志文件。#binlog-do-db=test1#test為需要同步的數(shù)據(jù)庫(kù)名。如果需要同步多個(gè)數(shù)據(jù)庫(kù),多次使用這條語(yǔ)句即可從服務(wù)器找到my.ini文件,在文件末尾添加如下代碼:server-id=2 master-host=192.168.1.104master-user=user1master-password=user1master-port=3306master-connect-retry=60master-host=192.168.1.104#主復(fù)制服務(wù)器的主機(jī)名或IP地址。如果沒有給出該選項(xiàng),從服務(wù)器線程不啟動(dòng)。master-port=3306#如果mysql服務(wù)使用的默認(rèn)端口3306,就可以省略此項(xiàng)master-connect-retry=60#在主服務(wù)器宕機(jī)或連接丟失的情況下,從服務(wù)器線程重新嘗試連接主服務(wù)器之前睡眠的秒數(shù)。如果未設(shè)置,默認(rèn)值為60。replicate-do-db=test#告訴從服務(wù)器限制默認(rèn)數(shù)據(jù)庫(kù)(由USE所選擇)為test的語(yǔ)句的復(fù)制。要指定多個(gè)數(shù)據(jù)庫(kù),應(yīng)多次使用該選項(xiàng),每個(gè)數(shù)據(jù)庫(kù)使用一次。slave-skip-errors=all #忽略錯(cuò)誤繼續(xù)同步在主服務(wù)器上為從服務(wù)器打開權(quán)限:GRANT REPLICATION SLAVE ON *.*TO ‘user1’@‘192.168.1.11’IDENTIFIED BY‘user1’;重啟主從服務(wù)器的mysql服務(wù)使主從服務(wù)器的數(shù)據(jù)庫(kù)保持一致根據(jù)數(shù)據(jù)庫(kù)使用的引擎不同有些區(qū)別:MyISAM(本次測(cè)試采用的引擎):在鎖定主服務(wù)器數(shù)據(jù)庫(kù)的情況下,可以直接將data下面的數(shù)據(jù)庫(kù)文件復(fù)制到從服務(wù)器data下面,并重啟從服務(wù)器(如果是直接添加新的數(shù)據(jù)庫(kù)不需要重啟)在從服務(wù)器的mysql命令行內(nèi)輸入如下命令:LOAD DATA FROM MASTER需要說明的是:你需要授予該賬戶其它權(quán)限:授予賬戶SUPER和RELOAD全局權(quán)限。為所有想要裝載的表授予SELECT權(quán)限。任何該賬戶不能SELECT的主服務(wù)器上的表被LOAD DATA FROM MASTER忽略掉。InnoDb:MyISAM的第二種辦法可以獲得全局讀鎖定,然后開始InnoDB表的文件系統(tǒng)快照。創(chuàng)建快照最簡(jiǎn)單的途徑是使用歸檔程序?qū)χ鞣?wù)器上的數(shù)據(jù)目錄中的數(shù)據(jù)庫(kù)進(jìn)行二進(jìn)制備份。(這部分沒有具體測(cè)試,就不說了,摘自《mysql參考手冊(cè)》第6章 Mysql中的負(fù)責(zé) 6.4 如何設(shè)置復(fù)制)查看結(jié)果主服務(wù)器:一般情況下第一次使用命令show master status查看主服務(wù)器狀態(tài)File 是mysqlback.000001,position是106.從服務(wù)器:?說明:在第一次設(shè)置完成master,slave之后,如果要修改slave的my.ini里master的設(shè)置必須先刪除data下面的master.info文件,重啟服務(wù)才能生效。否則服務(wù)器會(huì)以master.info中的信息為準(zhǔn)。或者另外一個(gè)辦法就是直接在mysql命令行中使用chang master to命令。二、主主同步主主同步是指AB同時(shí)互為master和slave,其操作就是在主從同步的基礎(chǔ)上在反過來再設(shè)置一次,將從服務(wù)器作為主服務(wù)器,主服務(wù)器作為從服務(wù)器。添加代碼如下:A(1
總結(jié)
以上是生活随笔為你收集整理的账户系统db服务器为创建快照,Mysql 服务器同步(replication)设置.docx的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ajax如何给label赋值,如何让Aj
- 下一篇: 2011年全国软件大赛模拟题及参考答案(