본문 바로가기

DB 일반

MariaDB의 Maxscale 구성 하기

1. 구성 및 설치 환경

OS : Centos 7.x

MariaDB 01 : 192.168.10.100

MariaDB 02 : 192.168.10.110

Maxscale : 192.168.10.200

 

2. Maxscale 설치 준비

# yum 설치를 위한 repo 다운로드

shell>sudo curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s 

# 특정버전을 원한다면

shell> curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-maxscale-version="2.3"

 

3. Maxscale 설치

shell> yum install -y maxscale

 

4. Maxscale 구성하기

# 참조문서 : https://mariadb.com/kb/en/mariadb-maxscale-14/maxscale-configuration-usage-scenarios/

shell> vi /etc/maxscale.cnf


[maxscale]
threads=auto


[server1]
type=server
address=192.168.10.100 
port=3306
protocol=MariaDBBackend

[server2]
type=server
address=192.168.10.110
port=3306
protocol=MariaDBBackend


[MariaDB-Monitor]
type=monitor
#module=mariadbmon
module=galeramon
servers=server1,server2

# DB 계정 생성 필요 (내부 서버 확인용 계정)
user=maxscale
password=maxscale!
monitor_interval=2000

 

[Read-Only-Service]
type=service
router=readconnroute
servers=server2

# DB 계정 생성 필요 (client 접속 계정)

user=superman
password=superman!
router_options=slave

 

[Read-Write-Service]
type=service
router=readwritesplit
servers=server1

# DB 계정 생성 필요 (client 접속 계정)
user=superman
password=superman!

[Read-Only-Listener]
type=listener
service=Read-Only-Service
protocol=MariaDBClient
port=4008

[Read-Write-Listener]
type=listener
service=Read-Write-Service
protocol=MariaDBClient
port=4006

 

[MaxAdmin]
type=service
router=cli

[MaxAdmin-Listener]
type=listener
service=MaxAdmin
protocol=maxscaled
socket=default

 

5. Maxscale 시작하기

shell> systemctl start maxscale

 

6. 접속 테스트

# client 에서 db write 요청시 

Server Host : 192.168.10.200, port : 4006, 계정: superman

 

# client 에서 db read 요청시 

Server Host : 192.168.10.200, port : 4008, 계정: superman

 

7. maxadmin 사용하여 모니터링하기

# 참조문서

# https://mariadb.com/kb/en/mariadb-maxscale-22-maxadmin-admin-interface/

 

8. 실제 read host에 접속을 해서 db insert 를 하면 에러없이 적용이 잘 됨. read만 되어야 하는데 ?.....

   실제 db에 붙는 계정의 권한에 따라서 적용이 되는것 같음.  ( read, write 계정을 분리해서 사용해야됨)

 

'DB 일반' 카테고리의 다른 글

postgres 설치  (0) 2020.04.17
Mariadb Galera Cluster 구성  (0) 2020.04.10