MariaDB 5.5.29 Galera Cluster Server on Debian 7

有幾點要注意:
  1. 檔案庫請到這選擇:https://downloads.mariadb.org/mariadb/repositories/
  2. Debian7要加key才能裝 
  3. 使用者帳號如果用工具透過proxy加,帳號可以同步到各node,但是不知為何schema的權限就不行,得進到某一台用指令下才會同步到其它台。指令:「GRANT ALL PRIVILEGES ON databasename.* TO username@'10.10.%' IDENTIFIED BY 'password' WITH GRANT OPTION;」

如果出現「ERROR 1047 (08S01) at line 1: Unknown command」的錯誤,要注意是不是下面幾點沒處理好:
  1. 做為cluster的使用者密碼不能太複雜,太複雜會導致無法啟動服務,一開始就是有太多特殊字元,所以node一直無法連進去
  2. 一定要將my.cnf的bind-address換成0.0.0.0,不然node無法連,當然這樣就有安全問題,所以就要小心使用者的權限,要控制登入的位置 
  3. 在 「/etc/mysql/conf.d/wsrep.cnf」設定檔中,是否有多於的空白

update date: 20130723
另外如果是使用xtrabackup做為sst的工具, 在許多網頁都要求在/etc/mysql/conf.d/wsrep.cnf的設定中,要使用root做為wsrep_sst_auth的使用者,但我最後並不是用root做為sst_auth的帳號,但是也是可以運作。
不過,為何要特別提出這點,是因為預設的sst是mysqldump,這個在設定過程並無遇到問題,有問題的是後來看資料覺得xtrabackup似乎比較好,所以安裝xtrabackup後,將wsrep_sst_method改成xtrabackup後就一直出出現「/usr//bin/wsrep_sst_common: line 94: /dev/stderr: Permission denied」這類的錯誤,搞很久一直不懂為何不行,後來做了幾個動作:
  1. 將mysql的root設定到每一個node中,要注意IP
  2. 如果還是不行,其實起cluster的那個node設定xtrabackup,跑起來後,其它node可以先將wsrep_sst_method=xtrabackup註解,直接跑mysqldump,如果ok,再改成xtrabackup,再restart.....結果就可以了.....= =||  到現在我仍搞不懂到底是怎一回事了.....反正只要是要加node或停掉的node要再上線,如果資料有異動到,就只要先跑過一次mysqldump,接著改掉設定成xtrabackup,再啟動就可以
 
感想:這個方式是產生DB間的同步機制,但本質上還是需要一個引導的介面,因此還是需要搭配haproxy做為前導,引導client連往不同db。

參考資料:
  1. https://kb.askmonty.org/en/getting-started-with-mariadb-galera-cluster/
  2. http://blog.wu-boy.com/2013/03/galera-cluster-for-mysql-multi-master-replication/
  3. http://blog.yam.com/keynes0918/article/64793518
  4. http://zx-1986.blogspot.tw/2013/03/setup-percona-xtradb-cluster.html 

留言

熱門文章