青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 4, comments - 6, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

mysql 雙向備份

Posted on 2008-06-03 17:08 hongsion 閱讀(695) 評論(0)  編輯 收藏 引用
      mysql的雙向備份可以實現一個簡單的數據庫cluster,從而提高數據的可靠性和訪問性能。  以下是用mysql5.0.51b實現雙向備份的一些記錄。
    

1)從網上下載了一個非安裝的版本mysql-5.0.51b,然后在192.168.1.10機器上解壓在E:\mysql目錄下。

 

2)在E:\mysql下創建一個my.ini文件,內容是從該目錄下面的其他ini復制而來,然后修改里面的內容,主要是設置路徑。因為mysql安裝在E:/mysql下,所以修改如下:

[mysqld]

basedir="E:/mysql/"

datadir="E:/mysql/Data/"

 

3)修改端口

為了讓mysql以服務的形式在windows中運行,同時不和其他已安裝的mysql發生沖突,所以要修改msyql服務運行的端口,主要修改如下:

[mysqld]

port=5306

 

4)安裝服務

windows+R,輸入“cmd”,回車,進入window中控制臺窗口,然后切換到E:\mysql\bin目錄下,運行mysqld-nt --install replDb,這樣服務安裝完成。

 

5)設置master

設置master的目的主要讓msyql數據庫程序運行起來的時候在本地產生bin-log,以備slave可以從該log中讀取sql操作,從而保持和master的數據同步。主要設置如下:

[mysqld]

log-bin=mysql-bin

server-id=1

log-bin設置的是本地產生的bin-log文件的名字,mysql還會自動產生擴展名。server-id用來標識本數據庫服務器。只所以需要配置server-id是為了區分bin-log中那些數據的來源。這樣就可以防止在一個loop的備份環境中,數據被循環復制。比如:AàB, BàC, CàA。假如沒有這個server-idA在從C復制數據的時候,就不知道這些數據是C產生的,還是B產生的,還是A自己產生的。如果是BC產生的,A當然需要復制,如果是A自己產生的,當然就不需要再復制了,不然就無限循環下去了。

 保存my.ini文件,這個時候運行 net start replDb。就會發現mysql數據庫程序運行之后,會在E:/mysql/Data/目錄下產生mysql-bin.xxxxxx的日志文件,以備slave訪問。

 

6)創建slave帳戶和權限

 net start replDb 就會啟動replDb

slave復制bin-log內容的時候,需要相應的帳號和訪問權限,因此如下命令:

Mysql –uroot –port=5306

由于初始沒有密碼,因此該命令直接可以訪問數據庫,如果為了安全起見,應該設置root密碼,如下:

       Grant all on *.* to ‘root’@’localhost’ identified by ‘root’

這樣root用戶只能在本機以’root’密碼訪問。然后創建slave可以訪問的帳戶,運行如下語句:

Grant replication slave on *.* to ‘repl’@’192.168.1.11’ identified by ‘slavepass’;

這樣192.168.1.11這臺機器上的mysql slave就可以以repl用戶名和’slavepass’密碼來復制本機(192.168.1.10)的bin-log中的內容了。

 

7)安裝slave

192.168.1.11機器上重復上面的(1),(2),(3),(4),(5),(6)步驟。

但是在第(5)步中server-id應該設置成和192.168.1.10機器不同的值,如下:

[mysqld]

log-bin=mysql-bin

server-id=2

同時在第(6)步創建slave帳戶的時候,ip有所改變,如下:

Grant replication slave on *.* to ‘repl’@’192.168.1.10’ identified by ‘slavepass’;

 

8)設置slave選項

192.168.1.10my.ini文件中,加入如下內容:

[mysqld]

master-host=192.168.1.11

master-port=5306

master-user=repl

master-password=slavepass

 

這個設置是告訴192.168.1.10上的mysql服務器把192.168.1.11:5306作為master,以用戶名repl和密碼slavepass去訪問。同樣的在192.168.1.11上如下設置:

[mysqld]

master-host=192.168.1.10

master-port=5306

master-user=repl

master-password=slavepass

 

然后在192.168.1.10192.168.1.11機器上都運行如下命令

Net stop replDb

Net start replDb

如果不出問題,兩臺機器上的mysql數據應該就已經處于相互備份的狀態下了。

那么如何檢驗是否連接成功呢,主要通過以下命令:

192.168.1.10機器上運行 mysql –u root –p –port=5306,輸入密碼’root’之后,進入mysql操作界面。

然后輸入show slave status\G 語句

會輸出如下:

    
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: master1
Master_User: root
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 931
Relay_Log_File: slave1-relay-bin.000056
Relay_Log_Pos: 950
Relay_Master_Log_File: mysql-bin.000004
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 931
Relay_Log_Space: 1365
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
1 row in set (0.01 sec)

注意其中的 Slave_IO_Running Slave_SQL_Running,這兩個指標如果是yes表示slave已經在工作了,然后再看Last_Error,如果是空的表示一切正常,還有最后一個Seconds_Behind_Master,這個指標表示slave讀的速度落后原始數據多少,正常當然是越小越好,太大就表示slave來不及復制master的數據了。

到此,設置運行完畢,在測試的過程中,我發現還可以這樣安裝,比如在上面第(6)步結束之后,可以不用把slave的配置寫到文件中,而是可以在不重新啟動mysql數據庫的情況下直接通過運行語句來完成:

mysql> CHANGE MASTER TO
    ->     MASTER_HOST='192.168.1.10',
    ->     MASTER_USER='repl',
    ->     MASTER_PASSWORD='slavepass',
  ->  MASTER_PORT=5306;

即先change master,然后運行start slave

然后再運行show slave status\G,應該也是OK

有一點需要說明的是,這里安裝的時候是直接用兩個完全新的數據庫,如果在已經有數據在數據庫中,并且該數據庫是master,這個時候想不關閉master的情況下,加入一個slave進來的話,就需要參考mysqlreplication一章中的內容,其基本過程是這樣:

(1)       先鎖定master中的數據庫,并把數據寫到硬盤。

mysql> FLUSH TABLES WITH READ LOCK;

(2)       然后再數據鎖定的情況下,用show master status查看bin-log的位置,并記下參數,并備份master中的內容。

(3)       解鎖master數據庫。

(4)       把備份好的數據倒到slave中。

(5)       slave數據庫中運行用change master語句,該語句需要加上master_log_filemaster_log_pos參數。這兩個參數就是在(2)中記下的bin-log參數。

(6)       slave 中運行 start slave。然后就ok了。

 

 

通過上面的闡述可以發現,有兩種方式配置備份,一個是通過my.ini,還有一個是通過change master語句。其實當數據庫運行的時候,如果發現my.ini中有master_host等參數,數據庫就把這些信息寫到data目錄下的master.info文件中,然后slave啟動的時候就直接從這個master.info文件中讀取master的信息。而在slave數據庫中運行change master語句的時候,數據庫程序是把那些參數直接寫入master.info文件中。

       mysql數據庫中,處理邏輯是這樣的,當mysql數據庫程序啟動的時候,如果它發現有master.info數據文件存在,那么它不會去讀my.ini中的相關配置,而是直接用master.info中的內容。如果沒有master.info存在,它才去讀my.ini中的相關配置,并且產生一個master.info文件。所以如果想通過my.ini來更改已有的master信息,必須先關掉mysql數據庫,然后刪除master.info文件,然后重新啟動。





 

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久成人精品电影| 亚洲午夜av在线| 久久亚洲精品伦理| 国产综合视频在线观看| 性xx色xx综合久久久xx| 亚洲女同同性videoxma| 国产精品亚洲产品| 久久精品国产999大香线蕉| 亚洲无人区一区| 国产日韩欧美夫妻视频在线观看| 亚洲欧美日韩在线不卡| 午夜国产精品视频| 影音先锋欧美精品| 亚洲高清资源| 欧美精品一区二区高清在线观看| 亚洲日本欧美天堂| 中文av一区特黄| 国产亚洲精品bt天堂精选| 久久午夜电影网| 欧美国产综合视频| 亚洲自拍偷拍一区| 久久人人爽人人| 日韩亚洲欧美一区二区三区| 一区二区三区回区在观看免费视频| 国产精品欧美经典| 免费观看成人鲁鲁鲁鲁鲁视频| 女人天堂亚洲aⅴ在线观看| 日韩写真视频在线观看| 亚洲一区在线免费观看| 狠狠色综合网| 99天天综合性| 国内久久婷婷综合| 亚洲精品专区| 精品88久久久久88久久久| 亚洲理伦在线| 韩国av一区二区三区四区| 亚洲青涩在线| 国产专区精品视频| 一区二区三区国产盗摄| 在线电影院国产精品| 亚洲色图自拍| 亚洲欧美制服中文字幕| 亚洲高清不卡在线| 亚洲一区免费观看| 亚洲精品国产精品国自产观看浪潮 | 国产目拍亚洲精品99久久精品| 久久天天综合| 国产欧美日韩另类视频免费观看| 欧美成人资源网| 国产午夜精品麻豆| 日韩午夜免费视频| 亚洲第一狼人社区| 欧美一级久久久| 亚洲视频免费观看| 欧美11—12娇小xxxx| 久久国产精品一区二区三区四区| 欧美人与禽性xxxxx杂性| 噜噜噜久久亚洲精品国产品小说| 国产精品老女人精品视频| 亚洲国产精品一区二区三区| 激情一区二区| 久久精品国产69国产精品亚洲| 午夜久久电影网| 欧美日韩一二三区| 亚洲精品九九| 日韩亚洲视频| 欧美精品日韩| 亚洲精品中文字| 一区二区欧美视频| 欧美日本韩国| 99re66热这里只有精品3直播| 极品裸体白嫩激情啪啪国产精品| 久久gogo国模裸体人体| 久久精品国产99国产精品澳门| 国产精品久久久一区二区| 中文国产一区| 欧美伊人久久久久久午夜久久久久 | 欧美成人精品一区二区三区| 牛牛影视久久网| 亚洲国产精品欧美一二99| 久久久水蜜桃| 亚洲第一搞黄网站| 日韩视频第一页| 欧美日韩一二区| 午夜精品国产精品大乳美女| 久久激情综合网| 在线播放亚洲一区| 欧美欧美天天天天操| 日韩一二三区视频| 欧美一区二区三区视频免费播放| 国产日韩欧美综合一区| 久久精品亚洲精品国产欧美kt∨| 美女日韩在线中文字幕| 亚洲伦伦在线| 欧美日韩国产在线一区| 亚洲免费婷婷| 欧美不卡在线视频| 国产精品99久久久久久久久久久久| 欧美日韩网址| 欧美在线精品免播放器视频| 免费欧美在线视频| 亚洲社区在线观看| 国产精品永久| 欧美精品大片| 久久精品国产91精品亚洲| 亚洲精品综合| 久久久天天操| 中文av一区二区| 精品成人一区二区三区四区| 欧美乱大交xxxxx| 欧美亚洲午夜视频在线观看| 亚洲成人中文| 欧美在线观看视频一区二区| 亚洲人成在线影院| 国产一区二区三区高清在线观看| 欧美福利专区| 久久精品国产96久久久香蕉| 99精品福利视频| 国产精品视频久久一区| 久久国产精品久久久久久| 99精品视频免费观看视频| 另类酷文…触手系列精品集v1小说| 一区二区免费看| 在线看欧美视频| 国产精品无码专区在线观看| 蜜桃久久av| 欧美制服丝袜| 亚洲欧美日韩国产一区二区| 亚洲精品乱码久久久久久蜜桃麻豆| 久久久一二三| 久久成人亚洲| 香蕉av福利精品导航| 99精品热视频只有精品10| 亚洲黄一区二区| 在线欧美不卡| 悠悠资源网亚洲青| 激情综合网址| 亚洲成色999久久网站| 国产综合在线视频| 国产亚洲一二三区| 国产精品久久久久久久一区探花| 欧美福利专区| 欧美福利一区二区| 欧美激情一区二区三级高清视频 | 亚洲黄网站在线观看| 久久综合色影院| 麻豆精品视频在线| 久久影院午夜片一区| 久久亚洲精品网站| 狂野欧美一区| 免费不卡在线观看| 免费亚洲电影在线| 欧美成人黄色小视频| 欧美成人精品激情在线观看| 免费久久99精品国产| 免费亚洲电影在线| 亚洲娇小video精品| 亚洲精品激情| 亚洲私人影吧| 欧美在线播放一区二区| 久久久久99精品国产片| 久久久中精品2020中文| 裸体歌舞表演一区二区| 欧美极品一区二区三区| 欧美日韩亚洲一区| 国产精品久久久久影院色老大| 国产精品一二一区| 黄色成人精品网站| 亚洲精品影视| 亚洲欧美另类中文字幕| 久久久青草婷婷精品综合日韩| 久热re这里精品视频在线6| 欧美成人免费网| 日韩视频免费在线观看| 亚洲欧美日韩国产一区二区三区| 久久女同精品一区二区| 欧美日韩国产黄| 国产日韩精品视频一区| 欲香欲色天天天综合和网| 99v久久综合狠狠综合久久| 午夜久久久久久| 欧美电影在线观看完整版| 一区二区高清视频在线观看| 久久不射网站| 欧美日本在线播放| 国产一区二区三区四区老人| 亚洲裸体俱乐部裸体舞表演av| 欧美一区二区精品久久911| 欧美国产日韩精品免费观看| 亚洲在线1234| 欧美成年人视频网站| 国产午夜精品在线观看| 99人久久精品视频最新地址| 久久国产精品亚洲77777| 91久久久久久国产精品| 午夜久久久久久久久久一区二区| 欧美成ee人免费视频| 国内成+人亚洲| 香蕉国产精品偷在线观看不卡| 欧美丰满高潮xxxx喷水动漫|