CLOUD/Server

[DB 이중화] Active(읽기,쓰기) - Active(읽기,쓰기)

alsruds 2023. 3. 2. 18:14

2023.03.02 - [클라우드/서버] - [DB 이중화] Active(쓰기) - Active(읽기)

 

[DB 이중화] Active(쓰기) - Active(읽기)

[ 준비 ] ※ CentOS 8 서버 2대 준비 ● 네트워크 설정 ● 방화벽 해제 setenforce 0 systemctl stop firwalld ● MySQL 설치 yum install mysql-server systemctl restart mysqld ● MySQL root 패스워드 설정 mysql_secure_installation [ M

alsrudalsrudalsrud.tistory.com

이어서 하기~

 

● 패스워드 정책 제거

mysql -u root -p
	uninstall component 'file://component_validate_password'; #centos8 버전

》 재시작 :  systemctl  restart  mysqld

 

패스워드 없는 사용자 생성

#권한/패스워드 없는 사용자 생성
CREATE USER '[계정ID]'@'%';
GRANT ALL PRIVILEGES ON *.* TO '[계정ID]'@'%';

 

준비했던 서버 2대 : 양방향 master - slave 설정

 

☞ 확인하기 ☜

》 slave 였던 서버 ( slave + master )

테이블 값 추가!

 master 였던 서버 (master + slave)

양방향 통신 가능 확인!

 

[ HAProxy ]

 설치

yum install haproxy

 

vi /etc/haproxy/haproxy.cfg  설정 파일 변경 :  마지막 줄에 추가

listen stats
	    bind :9000			# 웹브라우저에서 9000번 포트 접속 시 haproxy 모니터링 페이지로 접속
	    stats enable		
	    stats realm Haproxy\ Statistics	# http://[서버IP]:9000/haproxy_stats
	    stats uri /haproxy_stats

listen mysql-cluster
	    bind :3306
	    mode tcp
	    balance roundrobin	
	    option mysql-check user [mysql의 사용자 이름] 	# 패스워드 없이 접속할 수 있는 사용자

	    server [서버이름1] [서버1_IP]:3306 check
	    server [서버이름2] [서버2_IP]:3306 check

파일 설정 후 재시작 :  systemctl  restart  haproxy

 

☞ 확인하기 ☜

 [haproxy ip] : 9000 / haproxy_stats

설정해준 db 서버 2개가 잘 뜨면 성공!

'CLOUD > Server' 카테고리의 다른 글

[Django] 웹페이지 배포하기  (0) 2023.03.06
[Nginx/Gunicorn] 웹페이지 배포하기  (0) 2023.03.03
[DB 이중화] Active(쓰기) - Active(읽기)  (0) 2023.03.02
[DB] SQL  (0) 2023.03.02
[DB] 정규화  (0) 2023.03.02