iT邦幫忙

0

大家的 MySQL 都是如何做到即時備援的?

ali 2008-09-23 16:55:3818123 瀏覽

大家好!

請問各位前輩,大家的 MySQL 都是如何做到即時備援的?
譬如:現有兩台 MySQL,若其中一台掛了,希望另一台會立即自動接手。

我查了 Google,有看到用 MySQL Cluster 來做,或透過 MySQL 內建功能
Replication 來做(由一端設 Master 另一端設 Slave 來同步資料),小
弟沒有這方面的經驗,希求教各位前輩或高手,指點迷津一下,感激不盡,

謝謝。

ali iT邦新手 4 級 ‧ 2008-10-03 07:51:19 檢舉
抱歉!剛剛要點選「最佳回答」,結果不小心點錯了!
ali iT邦新手 4 級 ‧ 2008-10-03 08:08:51 檢舉
非常感謝兩位前輩的回覆,相當仔細,非常具有參考價值。

這段時間,找了許多資料研究,MySQL 的資料即時備援方案,大概只有一種方式,就是「MySQL Cluster」。

雖然有些「軟、硬體」限制,但目前來看,應該仍是我們的首選方案。
pluto iT邦研究生 1 級 ‧ 2009-09-21 10:32:29 檢舉
HA for MySQL, check this
http://twinpeak.blogspot.com/2008/12/mymirror5mymirror-for-mysql.html

Hope it can help you in time

2 個回答

40
ataru
iT邦研究生 1 級 ‧ 2008-09-23 20:17:56
最佳解答

MySQL的cluster要三台,有人有寫成中文介紹

MySQL Cluster

37
fillano
iT邦超人 1 級 ‧ 2008-09-23 22:22:46

mysql的replication是非同步的,所以有風險。做起來是不難,只要簡單設定好就會動了。可以參考Study Area上面的教學:
http://www.study-area.org/tips/mysql\_replication.htm

但這只是資料有一些備份,並不是即時備援。Mysql Cluster如上述,有一些硬體條件限制,你必須評估看看。

另一種方法是使用一些Linux HA的方法,例如Heartbeat,mysql官網有一些參考資料:
http://dev.mysql.com/doc/refman/5.0/en/ha-overview.html

這個方法包括使用heartbeat以及一個分散式的區塊裝置叫做DRBD。我沒用過這個方法,所以如果試出來的話,也跟大家分享一下吧。

Mysql Cluster只是一個storage engine,還需要有額外的mysql server來做query,也可以考慮在這個server透過heartbeat來做即時備援。

我很久以前試過mysql cluster,也可以參考一下:
http://www.ithome.com.tw/plog/index.php?op=ViewArticle&articleId=1015&blogId=257
http://www.ithome.com.tw/plog/index.php?op=ViewArticle&articleId=1176&blogId=257

zanhsieh iT邦新手 4 級 ‧ 2008-09-24 09:12:53 檢舉

如果覺得經費、備援、保全、硬體枝節上很麻煩的話,Amazon 現在的 AWS EC2 除過去支援雲儲存外,有支援透過雲資料庫去支援叢集資料庫,MySQL 資料庫有放在支援行列。最低等級是一年 $599 美金。詳情請看:

http://www.mysql.com/products/enterprise/ec2.html
MySQL Enterprise for Amazon EC2

http://aws.amazon.com/simpledb/
Amazon SimpleDB

外獅佬 iT邦大師 1 級 ‧ 2009-04-21 15:19:31 檢舉

MySQL 的備援,可以參考這個free的軟體『symmetricDs』:
官方網站:http://symmetricds.codehaus.org/

它的作法是設定將來源的資料,利用trigger的方式,做到資料同步的處理,
只是,它是透過Java的程式設計達到資料同步。
以備援的角度來說,效果不如MySQL Cluster或者replication,但是,可以拿來做其他的應用,例如資料的發佈、資料自動回存至資料中心等等。

我要發表回答

立即登入回答