IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置: 首頁數(shù)據(jù)庫MYSQL → MySQL數(shù)據(jù)庫兩臺主機同步實戰(zhàn)

MySQL數(shù)據(jù)庫兩臺主機同步實戰(zhàn)

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

MySQL支持單向、異步復制,復制過程中一個服務(wù)器充當主服務(wù)器,而一個或多個其它服務(wù)器充當從服務(wù)器。主服務(wù)器將更新寫入二進制日志文件,并維護日志文件的一個索引以跟蹤日志循環(huán)。

當一個從服務(wù)器連接到主服務(wù)器時,它通知主服務(wù)器從服務(wù)器在日志中讀取的最后一次成功更新的位置。從服務(wù)器接收從那時起發(fā)生的任何更新,然后封鎖并等待主服務(wù)器通知下一次更新。

在實際項目中,兩臺分布于異地的主機上安裝有MySQL數(shù)據(jù)庫,兩臺服務(wù)器互為主備,客戶要求當其中一臺機器出現(xiàn)故障時,另外一臺能夠接管服務(wù)器上的應用,這就需要兩臺數(shù)據(jù)庫的數(shù)據(jù)要實時保持一致,在這里使用MySQL的同步功能實現(xiàn)雙機的同步復制。

以下是操作實例:

1、數(shù)據(jù)庫同步設(shè)置

主機操作系統(tǒng):RedHat Enterprise Linux 5

數(shù)據(jù)庫版本:MySQL Ver 14.12 Distrib 5.0.22

前提:MySQL數(shù)據(jù)庫正常啟動

假設(shè)兩臺主機地址分別為:

ServA:10.240.136.9

ServB:10.240.136.149

1.1 配置同步賬號

在ServA上增加一個ServB可以登錄的帳號:

MySQL>GRANT all privileges ON *.* TO tongbu@'10.240.136.149' IDENTIFIED BY '123456';

在ServB上增加一個ServA可以登錄的帳號:

MySQL>GRANT all privileges ON *.* TO tongbu@'10.240.136.9' IDENTIFIED BY '123456';

1.2 配置數(shù)據(jù)庫參數(shù)

1、以root用戶登錄ServA,修改ServA的my.cnf文件

vi /etc/my.cnf

在[MySQLd]的配置項中增加如下配置:

?

?

1 default-character-set=utf8
2
3 log-bin=MySQL-bin
4
5 relay-log=relay-bin
6
7 relay-log-index=relay-bin-index
8
9 server-id=1
10
11 master-host=10.240.136.149
12
13 master-user=tongbu
14
15 master-password=123456
16
17 master-port=3306
18
19 master-connect-retry=30
20
21 binlog-do-db=umsdb
22
23 replicate-do-db=umsdb
24
25 replicate-ignore-table=umsdb.boco_tb_menu
26
27 replicate-ignore-table=umsdb.boco_tb_connect_log
28
29 replicate-ignore-table=umsdb.boco_tb_data_stat
30
31 replicate-ignore-table=umsdb.boco_tb_log_record
32
33 replicate-ignore-table=umsdb.boco_tb_workorder_record

?

?

2、以root用戶登錄ServB,修改ServB的my.cnf文件

vi /etc/my.cnf

在[MySQLd]的配置項中增加如下配置:

?

?

1 default-character-set=utf8
2
3 log-bin=MySQL-bin
4
5 relay-log=relay-bin
6
7 relay-log-index=relay-bin-index
8
9 server-id=2
10
11 master-host=10.240.136.9
12
13 master-user=tongbu
14
15 master-password=123456
16
17 master-port=3306
18
19 master-connect-retry=30
20
21 binlog-do-db=umsdb
22
23 replicate-do-db=umsdb
24
25 replicate-ignore-table=umsdb.boco_tb_menu
26
27 replicate-ignore-table=umsdb.boco_tb_connect_log
28
29 replicate-ignore-table=umsdb.boco_tb_data_stat
30
31 replicate-ignore-table=umsdb.boco_tb_log_record
32
33 replicate-ignore-table=umsdb.boco_tb_workorder_record

?

1.3 手工執(zhí)行數(shù)據(jù)庫同步

?

假設(shè)以ServA為主服務(wù)器,在ServB上重啟MySQL:

service MySQLd restart

在ServB上用root用戶登錄MySQL,執(zhí)行:

MySQL> stop slave;

?

MySQL> load data from master;

MySQL> start slave;

在ServA上重啟MySQL:

service MySQLd restart

1.4 查看數(shù)據(jù)庫同步狀態(tài)

在MySQL命令提示符下執(zhí)行:

MySQL> show slave status\G

將顯示同步進程的狀態(tài),如下所示,兩行藍色字體為slave進程狀態(tài),如果都為yes表示正常;紅色字體表示同步錯誤指示,如果有問題會有錯誤提示:

?

?

1 *************************** 1. row ***************************
2
3 Slave_IO_State: Waiting for master to send event
4
5 Master_Host: 10.21.2.90
6
7 Master_User: tongbu
8
9 Master_Port: 3306
10
11 Connect_Retry: 30
12
13 Master_Log_File: localhost-bin.000005
14
15 Read_Master_Log_Pos: 39753882
16
17 Relay_Log_File: localhost-relay-bin.000062
18
19 Relay_Log_Pos: 9826663
20
21 Relay_Master_Log_File: localhost-bin.000005
22
23 Slave_IO_Running: Yes
24
25 Slave_SQL_Running: Yes
26
27 Replicate_Do_D

關(guān)鍵詞標簽:

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Xbox Game Pass Xbox Game Pass 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦 MySQL常用維護管理工具 MySQL常用維護管理工具 MySQL數(shù)據(jù)庫啟動失敗1067進程意外終止的解決辦法總結(jié) MySQL數(shù)據(jù)庫啟動失敗1067進程意外終止的解決辦法總結(jié)

相關(guān)下載

人氣排行 10款MySQL數(shù)據(jù)庫客戶端圖形界面管理工具推薦 MySQL數(shù)據(jù)庫啟動失敗1067進程意外終止的解決辦法總結(jié) Mysql 1045錯誤解決辦法 MySQL服務(wù)器進程CPU占用100%解決辦法 MySQL導出導入命令的用例 MySQL連接字符串的實際操作步驟匯總 MySQL無法啟動、無法停止各種解決方法總結(jié) 三種常用的MySQL建表語句