紀錄一下使用webinoly內的MariaDB需要改成cluster的做法
每一個要加入的DB都要先加入一個使用者,這邊帳號用 myuser 密碼用mypassword
# mysql -uroot
GRANT USAGE ON *.* to 'myuser'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES on *.* to 'myuser'@'%';
FLUSH PRIVILEGES
安裝完成後接下來要設定 galera cluster 的設定檔
# vi /etc/mysql/mariadb.conf.d/60-galera.cnf
第一台,已經有資料的那台作法,我的第一台的IP是 192.168.0.136
這是我的設定檔
[galera]
# Mandatory settings
wsrep_on = ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_name = "MariaDB Galera Cluster"
wsrep_cluster_address = "gcomm://192.168.0.136,192.168.0.138"
binlog_format = row
default_storage_engine = InnoDB
#innodb_autoinc_lock_mode = 2
# Allow server to accept connections on all interfaces.
bind-address = 0.0.0.0
wsrep_node_address='192.168.0.136' #本機IP地址
wsrep_node_name='node1' #集群節點名稱
wsrep_sst_auth=myuser:mypassword
wsrep_sst_method=rsync
log_error = /var/log/mysql/error.log
# Optional settings
#wsrep_slave_threads = 1
#innodb_flush_log_at_trx_commit = 0
然後處裡第二台(第三台之後比照辦理),一樣是這個設定檔/etc/mysql/mariadb.conf.d/60-galera.cnf
跟第一台內容一樣,
但是wsrep_node_address 的IP換成我第二台的IP 192.168.0.138
wsrep_node_name 用另一個名稱node2
然後每一台全部資料庫停止運行
# systemctl stop mariadb
第一台是已經有資料在上面的,第二台之後是新建好的。
第一台啟動執行
# galera_new_cluster
第二台之後是啟動執行
# systemctl start mariadb
第二台啟動會比較慢,因為它正在把第一台的資料同步回來,就等
其他資訊:
可以進入資料庫內查看有幾個節點。
show status like ‘wsrep_cluster_size’;
我目前的狀況兩個點,所以是2沒錯
