From 938b0598e5307c76cdcc33d00824eb1234ad280e Mon Sep 17 00:00:00 2001 From: Arif Ali Date: Sun, 9 Nov 2014 01:20:19 +0000 Subject: [PATCH] Add mariadb-ha script Signed-off-by: Arif Ali --- scripts/ha_configs/mariadb-ha-setup.sh | 58 ++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 scripts/ha_configs/mariadb-ha-setup.sh diff --git a/scripts/ha_configs/mariadb-ha-setup.sh b/scripts/ha_configs/mariadb-ha-setup.sh new file mode 100644 index 0000000..e988dc2 --- /dev/null +++ b/scripts/ha_configs/mariadb-ha-setup.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +# Tested and confirmed on CentOS 7 x86_64 + +MYSQL_PWD="password" + +systemctl start mariadb +systemctl enable mariadb + +mysqladmin password "${MYSQL_PWD}" +mysqladmin -h $HOSTNAME password "${MYSQL_PWD}" + +crudini --set /etc/my.cnf.d/galera.cnf mysqld wsrep_sst_auth root:password + +mysql --password="${MYSQL_PWD}" -e "SET wsrep_on=OFF; GRANT ALL ON *.* TO wsrep_sst@'%' IDENTIFIED BY 'wspass'"; +mysql --password="${MYSQL_PWD}" -e "SET wsrep_on=OFF; DELETE FROM mysql.user WHERE user='';" + +crudini --set /etc/my.cnf.d/galera.cnf mysqld query_cache_size 0 +crudini --set /etc/my.cnf.d/galera.cnf mysqld binlog_format ROW +crudini --set /etc/my.cnf.d/galera.cnf mysqld default_storage_engine innodb +crudini --set /etc/my.cnf.d/galera.cnf mysqld innodb_autoinc_lock_mode 2 +crudini --set /etc/my.cnf.d/galera.cnf mysqld innodb_doublewrite 1 + +crudini --set /etc/my.cnf.d/galera.cnf mysqld wsrep_provider /usr/lib64/galera/libgalera_smm.so + +if [ $HOSTNAME = "stack01" ] then + # stack01 + crudini --set /etc/my.cnf.d/galera.cnf mysqld wsrep_cluster_address gcomm:// +elif [ $HOSTNAME = "stack02" ] then + # stack02 + # TODO: check once stack01 is finished + crudini --set /etc/my.cnf.d/galera.cnf mysqld wsrep_cluster_address gcomm://10.0.0.1,10.0.0.3 +elif [ $HOSTNAME = "stack03" ] then + # stack03 + # TODO: check once stack01 is finished + crudini --set /etc/my.cnf.d/galera.cnf mysqld wsrep_cluster_address gcomm://10.0.0.1,10.0.0.2 +fi + +# Set the firewall +# mysql +firewall-cmd --permanent --add-service=mysql --zone=public +# galera +firewall-cmd --permanent --add-port=4567/tcp --zone=public +# galera rsync +firewall-cmd --permanent --add-port=4444/tcp --zone=public +# restart the firewall +firewall-cmd --reload + +systemctl restart mariadb + +if [ $HOSTNAME = "stack01" ] then + # stack01 + # TODO: need to make sure that at least one of stack01 and stack02 are finished + crudini --set /etc/my.cnf.d/galera.cnf mysqld wsrep_cluster_address gcomm://10.0.0.2,10.0.0.3 + systemctl restart mariadb +fi + +