CentOS 6下安裝部署Galera Cluster for MySQL叢集

來源:互聯網
上載者:User

CentOS 6下安裝部署Galera Cluster for MySQL叢集

Galera Cluster for MySQL是一套基於同步複製的多主MySQL叢集解決方案,使用簡單,沒有單點故障,可用性高,能很好保證業務不斷增長時我們資料的安全和隨時的擴充,主要特點:

同步複製
多主伺服器的拓撲結構
可以在任意節點上進行讀寫
自動剔除故障節點
自動加入新節點
真正行層級的並發複製
用戶端串連跟操作單台MySQL資料庫的體驗一致

Galera本質是一個wsrep提供者(provider),運行依賴於wsrep的API介面。Wsrep API定義了一系列應用回調和複製調用庫,來實現交易資料庫同步寫集(writeset)複製以及相似應用。目的在於從應用細節上實現抽象的,隔離的複製。雖然這個介面的主要目標是基於認證的多主複製,但同樣適用於非同步和同步的主從複製。

MySQL Cluster 備份與恢複

MySQL Cluster安裝配置

MySQL Cluster 3台機器搭建叢集環境 DOC

MySQL Cluster7.2線上增加資料節點存在重大弊端

搭建MySQL-Cluster叢集架構   

使用前十項注意

1、使用Galera必須要給MySQL-Server打wsrep補丁。可以直接使用官方提供的已經打好補丁的MySQL安裝包,如果伺服器上已經安裝了標準版MYSQL,需要先卸載再重新安裝。卸載前注意備份資料。
2、MySQL/Galera叢集只支援InnoDB儲存引擎。如果你的資料表使用的MyISAM,需要轉換為InnoDB,否則記錄不會在多台複製。可以在備份老資料時,為mysqldump命令添加–skip-create-options參數,這樣會去掉表結構的聲明資訊,再匯入叢集時自動使用InnoDB引擎。不過這樣會將AUTO_INCREMENT一併去掉,已有AUTO_INCREMENT列的表,必須在匯入後重新定義。
3、MySQL 5.5及以下的InnoDB引擎不支援全文索引(FULLTEXT indexes),如果之前使用MyISAM並建了全文索引欄位的話,只能安裝MySQL 5.6 with wsrep patch。
4、所有資料表必須要有主鍵(PRIMARY),如果沒有主鍵可以建一條AUTO_INCREMENT列。
5、MySQL/Galera叢集不支援下面的查詢:LOCK/UNLOCK TABLES,不支援下面的系統變數:character_set_server、utf16、utf32及ucs2。
6、資料庫日誌不支援儲存到表,只能輸出到檔案(log_output = FILE),不能設定binlog-do-db、binlog-ignore-db。
7、跟其他叢集一樣,為了避免節點出現腦裂而破壞資料,建議Galera叢集最低添加3個節點。
8、在高並發的情況下,多主同時寫入時可能會發生事務衝突,此時只有一個事務請求會成功,其他的全部失敗。可以在寫入/更新失敗時,自動重試一次,再返回結果。
9、節點中每個節點的地位是平等的,沒有主次,向任何一個節點讀寫效果都是一樣的。實際可以配合VIP/LVS或HA使用,實現高可用性。
10、如果叢集中的機器全部重啟,如機房斷電,第一台啟動的伺服器必須以空地址啟動:mysqld_safe –wsrep_cluster_address=gcomm:// >/dev/null &

典型的Galera叢集情境

安裝MySQL with wsrep patch

  1. #先安裝依賴庫
  2. yum install libaio gcc gcc-c++ boost-devel scons check-devel openssl-devel
  3. ln -sf /usr/lib64/libssl.so.10/usr/lib64/libssl.so.6
  4. ln -sf /usr/lib64/libcrypto.so.10/usr/lib64/libcrypto.so.6
  5. #下載MySQL with wsrep源碼包,目前最新版本是5.5.34-25.9
  6. wget https://launchpad.net/codership-mysql/5.5/5.5.34-25.9/+download/mysql-5.5.34_wsrep_25.9-linux-x86_64.tar.gz
  7. tar zxvf mysql-5.5*
  8. mv mysql-5.5.34_wsrep_25.9-linux-x86_64 /usr/local/mysql
  9. cd /usr/local/mysql/
  10. groupadd mysql
  11. useradd -r -g mysql mysql
  12. chown -R mysql:mysql .
  13. ./scripts/mysql_install_db --no-defaults --datadir=/opt/mysqldb/--user=mysql
  14. chown -R root .
  15. chown -R mysql /opt/mysqldb/
  16. echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
  17. source /etc/profile
  18. mysqld_safe --wsrep_cluster_address=gcomm:// >/dev/null &

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.