본문 바로가기
Server/MySQL

Rocky8 mariaDB galera 설치 및 설정

by 얽디 2023. 5. 3.

 

mysql galera 설정

[참고]

아래 테스트한 서버 mariaDB 버전에 경우 서버 설치 후 별다른 설정 없이 기본 레포로 진행하였습니다.

mysql -V //mysql(mariadb)버전 확인 -V << 꼭 대문자 여야합니다. 아니면 에러나면서 안보여줌

mysql  Ver 15.1 Distrib 10.3.35-MariaDB, for Linux (x86_64) using readline 5.1

 

mariaDB galera 사용을 위한 mariadb-galera 설치

# dnf -y install mariadb-server-galera

 

두개 이상의 서버를 동시 작업 시 헷갈리지 않게 hostname도 센스있게 설정해줍니다.

[root@hagorud99-204868 ~]# vi /etc/hostname
[root@hagorud99-204868 ~]# hostname -F /etc/hostname && exec bash
[root@galeratest1 ~]#

 

패키지 설치에 경우 /etc/my.cnf 설정파일에 모두 설정되어 있지 않고

/etc/my.cnf.d 디렉토리에 있는 cnf파일을 참조하게 되어 있습니다.

초기 설치 후 galera.cnf 파일이 있어 해당 파일은 그냥 참조 안하게 이름을 바꿔줬습니다.

egrep -v "^#|^$" /etc/my.cnf.d/galera.cnf //#와 $를 제외한 설정값 확인
[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_on=1
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_name="my_wsrep_cluster"
wsrep_slave_threads=1
wsrep_certify_nonPK=1
wsrep_max_ws_rows=0
wsrep_max_ws_size=2147483647
wsrep_debug=0
wsrep_convert_LOCK_to_trx=0
wsrep_retry_autocommit=1
wsrep_auto_increment_control=1
wsrep_drupal_282555_workaround=0
wsrep_causal_reads=0
wsrep_notify_cmd=
wsrep_sst_method=rsync
wsrep_sst_auth=root:


[root@galeratest1 ~]# mv /etc/my.cnf.d/galera.cnf /etc/my.cnf.d/galera.cnf_ori
//galera.cnf_ori파일로 이름 변경

 

vi 로 /etc/my.cnf 파일을 열어 아래 내용을 추가해 줍니다. 서버1,2 동일하게 부분부분 수정하여 기입

[galera]
wsrep_on=ON #galera 클러스터 사용여부
wsrep_provider=/usr/lib64/galera/libgalera_smm.so  # galera 클러스터링 모듈 위치
wsrep_cluster_address="gcomm://서버1,서버2" #동기화할 ip
wsrep_cluster_name=cluster  # 클러스터링 이름
wsrep_node_address="현재서버IP" #ex)xxx.xxx.xx.xx
wsrep_node_name="galeratest-1" #현재 서버의 이름
wsrep_sst_method=rsync #동기화 방식
wsrep_sst_auth="root:passwrod" #동기화시 사용 접속정보
binlog_format=row  #로그파일 형식
default_storage_engine=InnoDB  # 타입
innodb_autoinc_lock_mode=2

 

master,slave 서버 시작 및 확인

[root@galeratest1 ~]# galera_new_cluster //master 서버에서 진행
[root@galeratest1 ~]# netstat -nltp //에러없이 진행되었다면 데몬 확인. 4567,3306)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      50338/sshd          
tcp        0      0 0.0.0.0:4567            0.0.0.0:*               LISTEN      127571/mysqld       
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      127571/mysqld       
tcp6       0      0 :::22                   :::*                    LISTEN      50338/sshdActive Internet connections (only servers)
[root@galeratest-2 ~]# systemctl start mariadb //slave서버에서 진행
[root@galeratest-2 ~]# netstat -nltp //동일하게 데몬 확인
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      50338/sshd          
tcp        0      0 0.0.0.0:4567            0.0.0.0:*               LISTEN      127571/mysqld       
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      127571/mysqld       
tcp6       0      0 :::22                   :::*                    LISTEN      50338/sshd

 

mysql 접속 하여 확인

[root@galeratest1 ~]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.3.35-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show status like 'wsrep_cluster_size'; //연결된 노드 확인
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 2     |
+--------------------+-------+
1 row in set (0.001 sec)
MariaDB [(none)]> show status like 'wsrep_incoming_addresses'; //연결된 서버 IP 확인
+--------------------------+----------------------------------------+
| Variable_name            | Value                                  |
+--------------------------+----------------------------------------+
| wsrep_incoming_addresses | xxx.xx.xxx.xxx:3306,xxx.xx.xxx.xx:3306 |
+--------------------------+----------------------------------------+
1 row in set (0.001 sec)

댓글