インストール手順
CentOS7にMariaDB10.1をインストールしてGalera Cluster有効にする手順です
MariaDB 10.1のインストールと設定
yum リポジトリを追加
# cat /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
MariaDBをインストール
# yum --enablerepo=mariadb -y install MariaDB-server
設定ファイル
# cat /etc/my.cnf.d/galera.cnf
[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://{{all_ipaddress}}"
wsrep_cluster_name="Galera_Cluster"
wsrep_node_name="{{ inventory_hostname }}"
wsrep_node_address="{{ ansible_host }}"
binlog_format=row
default_storage_engine=InnoDB
- {{all_ipaddress}} クラスタに参加するサーバのIPアドレスを , 区切りで並べたもの。動作しているサーバのIPが一つでもあればよい。例)192.168.1,10,192.168.1,11,192.168.1,12
- {{ inventory_hostname }} サーバ自身のホスト名
- {{ ansible_host }} サーバ自身のIPアドレス
↑実はansibleの設定ファイルのテンプレート
起動
1台目(最初に起動するサーバ)
galera_new_cluster
2、3台目
通常のmysqlの起動方法でOK
systemctl status mysql
起動方法について
wsrep_cluster_addressに記載されたIPのどれか一台が起動していないと起動できない。
このため、1台目は、特別なコマンドgalera_new_clusterで起動する
1台目の起動方法は、ネット上に古い情報が多くる
wsrep_cluster_address="gcomm://" とする方法は、古い方法
service mysql bootstrapで起動する方法は、CentOSではsystemdを使ている為、うまくいかない
galera_new_cluster コマンドを使う方法が正しい。
クラスターが動作している状態で起動するときに1台目を停止、起動する場合には、mysqlのサービス開始でよい。galera_new_clusterを使用するのは、一台も動作していない状態で起動する時。