台灣最大程式設計社群網站
線上人數
702
 
會員總數:244996
討論主題:188957
歡迎您免費加入會員
討論區列表 >> 其他DB >> 3台主機之資料庫複寫問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
3台主機之資料庫複寫問題
價值 : 50 QP  點閱數:160 回應數:5

樓主

蕭裴
門外漢
0 4
58 2
發送站內信




使用資料庫為 mariadb
作業系統 linux


我有三台LINUX主機 為 A.B.C


A主機有 甲.乙 兩個資料庫

B 主機 有丙資料庫 然後還要從A複寫 甲.乙資料庫(所以B有甲乙丙.甲乙資料由A機複寫)

C主機 從B主機複寫 甲乙丙 資料庫

--------------------------------------------------------------------------------
問題1
我 A.B 設定成功後 設定C時 C資料庫沒有複寫成功
結果過幾天變 C有在複寫B資料庫 但是B沒有複寫A的資料
然後我就亂掉了

導致B主機Slave_IO_Running=NO

我設定上還是有些疑問

請大大替我看看 my.cnf這邊哪裡有問題

-------------------------------------------------------------------------------

A主機 /my.cnf
[mysqld] 區段底下
log-bin
server_id=1
replicate-do-db=甲
replicate-do-db=乙
bind-address=0.0.0.0

B主機 /my.cnf
[mysqld] 區段底下
log-bin
server_id=2
replicate-do-db=甲
replicate-do-db=乙
replicate-do-db=丙

C主機 /my.cnf
[mysqld] 區段底下
log-bin
server_id=3
replicate-do-db=甲
replicate-do-db=乙
replicate-do-db=丙
以上這邊設定上有哪些問題嗎
-----------------------------------------

搜尋相關Tags的文章: [ 複寫 ] , [ 資料庫 ] ,
本篇文章發表於2019-06-08 19:25
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

P陳
檢舉此回應
感覺資料庫這樣寫,不是搞死自已嗎?
不知你這樣寫的目的。
個人的話 甲 乙 丙 資料庫都放在A

B C 透過 Web Service 來存取A的 甲 乙 丙的資料

否則蓋來蓋去的一定會不同步



本篇文章回覆於2019-06-08 22:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

蕭裴
檢舉此回應
謝謝陳大
我是想說 假設A掛了 轉到B還在運作時 資料還有備份到C這樣
雖然不會那麼剛好
我想說我這個方式可不可行
本篇文章回覆於2019-06-10 19:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

P陳
檢舉此回應
那我猜對了您的用途的,只是不能這樣寫的
平常時還是只能對一台 作 存 取 的動作

A B C 的動作皆到 A機 的甲乙丙作存取 (但A機 的甲乙丙要 同步存到 B的甲1 乙1 丙1)
有問題時再啟動資料庫轉換 (WEB Service 的動作 由B的甲1 乙1 丙1來提供存取)
本篇文章回覆於2019-06-11 14:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

蕭裴
檢舉此回應
陳大
你的意思是說 動作是再A機
B.C複寫都由A取得

假設A掛了 利用轉換 B複寫到C
本篇文章回覆於2019-06-11 14:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

P陳
檢舉此回應
過程 大約如下 ,您要作實作一下

1. A B C 機的資料都 A 提供

2. A B C 的取都由 A機 的甲乙丙 資料庫提供

3. A B C 機的 存(增 刪 修) 除了 存到A機的 甲乙丙外 也要存到 B 的甲2 乙2 丙2

4.A掛掉後 更改 DNS 中 A機的 IP 到 B
--------------------------------------------
如果您真的要作的話,我會建議將資料放到 外接的 Nas 上,將主機與 資料庫分開
本篇文章回覆於2019-06-12 11:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.