💡 핵심 요약 (Executive Summary)
본 가이드는 mariadb version up with maxscale 핵심 가이드 및 실전 아키텍처의 핵심 개념, 실전 구성 명령어 및 아키텍처 베스트 프랙티스를 다룹니다. 클라우드 네이티브 및 인프라 엔지니어링 실무에 즉시 활용 가능하도록 체계적으로 정리했습니다.
📑 Table of Contents
Info
Reference & Guidelines (NOTE)
version info: 10.4.24(tarball) → 10.4.30(tarball)
maxscale info: 2.2.21
OS info: rhel 8
Maxscale 중지
bash
# 실행명령 미리 확인
ps -aux | grep maxscale #/usrl/local/maxscale/bin/maxscale --user=maxscale -d
# pid 확인
pidof maxscale
# 중지
sudo kill $(pidof maxscale)
Mariadb 백업 및 종료 (2 Servers)
bash
# 백업 전 replication 계정, maxscale 계정 확인
mysql -uroot -pCloud000@
show slave status\G; #Master_User
#replication계정 password test
## maxscale node 확인
sudo vi /etc/maxscale.cnf #user, passwd 확인
# Data 백업 (master에서 백업 후 slave에 복제)
mysqldump -uroot -pCloud000@ --all-databases --single-transaction > 2024-upgrade-backup.sql
# my.cnf 백업
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.copied
# mysql 종료
## 실행명령 미리 확인
ps -aux | grep mysql #sudo /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data
## pid 확인
pidof mysqld
## 중지
sudo kill $(pidof mysqld)
바이너리 버전 변경 및 실행 (2 Servers)
bash
# 10.4.24 제거
cd /usr/local
sudo rm -rf mysql
# 10.4.30 설치
cd ~
tar xvzf mariadb-10.4.30-linux-systemd-x86_64.tar.gz
sudo mv mariadb-10.4.30-linux-systemd-x86_64 /usr/local
cd /usr/local
sudo ln -s /usr/local/mariadb-10.4.30-linux-systemd-x86_64/ mysql
cd mysql
sudo chown -R root:root .
sudo mkdir data
sudo chown -R mysql:mysql data
sudo ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --auth-root-authentication-method=normal --defaults-file=/etc/mysql/my.cnf
sudo ./bin/mysqld_safe --datadir='/usr/local/mysql/data' &
sudo ./bin/mysqladmin -u root password 'Cloud000@'
데이터 복원 (2 Servers) 및 replication 설정
bash
cd ~
mysql -uroot -pCloud000@ < 2024-upgrade-backup.sql
# 계정생성: 필요없을것으로 보임
##mysql -uroot -pCloud000@
##grant replication slave on *.* to repl@'%' identified by 'Cloud000@';
##flush privileges;
## 재시작
sudo kill $(pidof mysqld)
# 상위에서 확인된 명령어로 실행
sudo /usr/local/mysql/bin/mysqld_safe --datadir='/usr/local/mysql/data' &
# Master Node
mysql -uroot -pCloud000@
## 확인(file , position 값) (SQL)
show master status;
## Log_bin 값 on 인지 확인 (SQL)
show variables like '%log_bin%';
## slave 설치 작업 후 커넥션 확인 (SQL)
show status like 'slaves_connected';
# Slave Node
mysql -uroot -pCloud000@
CHANGE MASTER TO MASTER_HOST='172.16.0.33', MASTER_USER='repl', MASTER_PASSWORD='Cloud000@', MASTER_LOG_FILE='mariadb-bin.000043', MASTER_LOG_POS=344, MASTER_CONNECT_RETRY=10;
## 재시작
sudo kill $(pidof mysqld)
sudo /usr/local/mysql/bin/mysqld_safe --datadir='/usr/local/mysql/data' &
mysql -uroot -pCloud000@
start slave;
show slave status\G
Maxscale 기동
bash
## 2 mariadb 계정생성: 필요없을것으로 보임
##mysql -uroot -pCloud000@
##SELECT PASSWORD('maxscale');
##GRANT ALL PRIVILEGES ON *.* TO `maxscale`@`%` IDENTIFIED BY PASSWORD '*53E5D0C7885BD540911663B04133F20C94AD4306' WITH GRANT OPTION;
##flush privileges;
# 상위에서 확인된 명령어로 실행
sudo bin/maxscale --user=maxscale -d &
maxctrl list servers
Leave a Reply