[MySQL8] 갈레라 클러스터 설치
마리아DB가 아닌 MySQL8 버전에서 갈레라 클러스터 설치하는 방법에 대한 정리 입니다.
yum -y install lrzsz ncurses ncurses-devel ncurses-libs openssl openssl-devel glibc bison make cmake readline gcc gcc-c++ wget autoconf automake libtool* libmcrypt* git patchelf libtirpc* rpcgen numactl numactl-devel ncurses-compat-libs libaio libaio-devel
기본적인 라이브러리 설치가 끝났으면 보안 관련된 부분을 모두 해제하고 시작 합니다.
setenforce 0
vim /etc/sysconfig/selinux
sestatus
firewall-cmd --list-all
systemctl stop firewalld
버전에 맞게 리포티지 파일을 만들어 주고 설치 한다.
vi /etc/yum.repos.d/galera.repo
[galera]
name = Galera
baseurl = https://releases.galeracluster.com/galera-4.9/centos/7/x86_64
gpgkey = https://releases.galeracluster.com/GPG-KEY-galeracluster.com
gpgcheck = 1
[mysql-wsrep]
name = MySQL-wsrep
baseurl = http://releases.galeracluster.com/mysql-wsrep-8.0.25-26.7/centos/7/x86_64/
gpgkey = https://releases.galeracluster.com/GPG-KEY-galeracluster.com
gpgcheck = 1
yum makecache fast
yum -y install galera-4 mysql-wsrep-8.0
--------------------------------------------
● 설치가 완료되면 다음 순서대로 진행을 합니다.
먼저 갈레라 옵션이 없는 상태에서 실행이 잘 되는지 확인을 한 다음 갈레라 옵션을 적용 시키고 실행 합니다.
통상적으로 첫번째 노드는 어떤 오션이든 문제 없이 잘 실행이 됩니다.
두번째 노드 실행하는데 부터 문제가 발생을 하곤 합니다.
1) 비밀번호를 찾습니다.
systemctrl start mysqld 명령을 실행하면 my.cnf 설정에 맞게 기본적인 테이블들이 생성 되고 데몬이 실행 됩니다.
비밀번호는 mysqld.log 파일에 있는데 이 로그파일은 my.cnf에 지정되어 있는 로그파일을 열어서 확인해야 한다.
cat mysqld.log | grep password
2) 비밀번호를 변경해 줍니다.
마리아DB에선 이과정이 없습니다. mysql_secure_installation 초기 변경해 주는 프로그램은 mysql데몬이 실행이 되어 있는 상태에서 변경이 가능 하다.
기본설정 되어 있는 규칙은 강력하기 때문에 비밀번호는 숫자 특수문자등 규칙에 맞게 충분히 길어야 한다.
mysql_secure_installation
# 계정 접속 잘되는지 확인 합니다.
mysql -uroot -p
3) 갈레라 옵션 설정
[mysqld]
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=2G
wsrep_on=ON
wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so
wsrep_cluster_address="gcomm://mysql8-g01,mysql8-g02,mysql8-g03"
wsrep_cluster_name="galera-cluster"
wsrep_node_name="mysql8-g01"
wsrep_node_address="mysql8-g01"
wsrep_sst_method="clone"
3-1) 첫번재 노드에서 실행 합니다.
로그를 삭제 안해도 됩니다. 오류가 있을 경우 쉽게 확인하려 삭제 하는것이라서 일반적으로는 할 필요는 없습니다.
systemctl stop mysqld
cat /dev/null > mysqld.log
mysqld_bootstrap --wsrep-new-cluster
3-2) 두번째, 세번째, .. 노드에서 실행 합니다.
갈레라 설정 부분만 동일하고 mysql을 실행하는 방법은 일반적인 실행과 동일 합니다. 즉, 첫번째 노드 실행만 다르게 실행을 하며 두번째 노드 부터는 일반적인 mysql 데몬 실행할때와 방법은 동일 합니다.
● 참고사이트
https://rastalion.me/galera-cluster-for-mysql-8-2-installation/