LoginSignup
16
14

More than 5 years have passed since last update.

CentOS6にMariaDB Galera Cluster 10.0をインストールする

Last updated at Posted at 2014-08-01

2014/09/08追記 10.0.12が消えていたので10.0.13に修正

CentOS6用のリポジトリがなんかおかしいのでrpmをダウンロードしてMariaDB Galera Cluster 10.0をインストールする。
ついでに3ノードのクラスタを構成する。

MariaDB Galera Cluster 10.0をインストールする
# EPELリポジトリのインストール(socatがEPELリポジトリにあるため)
sudo rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

# mysql-libsを消す
sudo rpm -e --nodeps mysql-libs

# 依存パッケージのインストール
sudo yum -y install perl perl-DBI lsof rsync socat

# MariaDB-Galeraのダウンロード
curl -L -O http://yum.mariadb.org/10.0/centos6-amd64/rpms/MariaDB-Galera-10.0.13-centos6-x86_64-server.rpm
curl -L -O http://yum.mariadb.org/10.0/centos6-amd64/rpms/galera-25.3.5-1.rhel6.x86_64.rpm
curl -L -O http://yum.mariadb.org/10.0/centos6-amd64/rpms/MariaDB-10.0.13-centos6-x86_64-client.rpm
curl -L -O http://yum.mariadb.org/10.0/centos6-amd64/rpms/MariaDB-10.0.13-centos6-x86_64-common.rpm
curl -L -O http://yum.mariadb.org/10.0/centos6-amd64/rpms/MariaDB-10.0.13-centos6-x86_64-compat.rpm

sudo rpm -ivh MariaDB-10.0.13-centos6-x86_64-compat.rpm MariaDB-10.0.13-centos6-x86_64-common.rpm MariaDB-10.0.13-centos6-x86_64-client.rpm MariaDB-Galera-10.0.13-centos6-x86_64-server.rpm galera-25.3.5-1.rhel6.x86_64.rpm

# MariaDBのセキュリティ設定
sudo service mysql start
sudo /usr/bin/mysql_secure_installation

Enter current password for root (enter for none): (そのままEnter)
Set root password? [Y/n] (そのままEnter)
New password: (パスワードを入力)
Re-enter new password: (パスワードを再入力)
Remove anonymous users? [Y/n] (そのままEnter)
Disallow root login remotely? [Y/n] (そのままEnter)
Remove test database and access to it? [Y/n] (そのままEnter)
Reload privilege tables now? [Y/n] (そのままEnter)

# MariaDB Galera Clusterユーザ設定
mysql -u root -p
MariaDB [(none)]> DELETE FROM mysql.user WHERE user='';
MariaDB [(none)]> GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'dbpass';
MariaDB [(none)]> GRANT USAGE ON *.* to sst_user@'%' IDENTIFIED BY 'dbpass';
MariaDB [(none)]> GRANT ALL PRIVILEGES on *.* to sst_user@'%';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit

# MariaDB Galera Clusterコンフィグ設定
sudo service mysql stop

# ノードdb1での作業
# wsrep_cluster_addressのIPアドレスリストは適時変更
# wsrep_node_addressのIPアドレスはノードのIPに変更
sudo cat >> /etc/my.cnf.d/server.cnf << EOF
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
innodb_locks_unsafe_for_binlog=1
query_cache_size=0
query_cache_type=0
bind-address=0.0.0.0

datadir=/var/lib/mysql
innodb_log_file_size=100M
innodb_file_per_table
innodb_flush_log_at_trx_commit=2

wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.1.11,192.168.1.12,192.168.1.13"
wsrep_cluster_name='galera_cluster'
wsrep_node_address='192.168.1.11'
wsrep_node_name='db1'
wsrep_sst_method=rsync
wsrep_sst_auth=sst_user:dbpass

EOF

# ノードdb2での作業
# wsrep_cluster_addressのIPアドレスリストは適時変更
# wsrep_node_addressのIPアドレスはノードのIPに変更
sudo cat >> /etc/my.cnf.d/server.cnf << EOF
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
innodb_locks_unsafe_for_binlog=1
query_cache_size=0
query_cache_type=0
bind-address=0.0.0.0

datadir=/var/lib/mysql
innodb_log_file_size=100M
innodb_file_per_table
innodb_flush_log_at_trx_commit=2

wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.1.11,192.168.1.12,192.168.1.13"
wsrep_cluster_name='galera_cluster'
wsrep_node_address='192.168.1.12'
wsrep_node_name='db2'
wsrep_sst_method=rsync
wsrep_sst_auth=sst_user:dbpass

EOF

# ノードdb3での作業
# wsrep_cluster_addressのIPアドレスリストは適時変更
# wsrep_node_addressのIPアドレスはノードのIPに変更
sudo cat >> /etc/my.cnf.d/server.cnf << EOF
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
innodb_locks_unsafe_for_binlog=1
query_cache_size=0
query_cache_type=0
bind-address=0.0.0.0

datadir=/var/lib/mysql
innodb_log_file_size=100M
innodb_file_per_table
innodb_flush_log_at_trx_commit=2

wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.1.11,192.168.1.12,192.168.1.13"
wsrep_cluster_name='galera_cluster'
wsrep_node_address='192.168.1.13'
wsrep_node_name='db3'
wsrep_sst_method=rsync
wsrep_sst_auth=sst_user:dbpass

EOF

# ノードdb1での作業
# 最初のクラスタはオプション--wsrep-new-clusterをつけて起動する
sudo /etc/init.d/mysql start --wsrep-new-cluster

# ノードdb2, db3は通常通り起動
sudo service mysql start

16
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
14