- 13. db 이중화22023년 02월 13일 17시 39분 58초에 업로드 된 글입니다.작성자: 각수짱728x90반응형SMALL
Active(읽기, 쓰기) - Active(읽기, 쓰기) 구조
vi /etc/haproxy/haproxy.cfg 마지막 줄에 추가 listen stats # haproxy 모니터링 페이지 설정 bind :9000 # 웹브라우저를 이용해서 9000포트로 접속하면 stats enable # haproxy 모니터링 페이지로 접속 됨 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의 사용자 이름 이 예제에선 remote] # mysql에 헬스체크를 하는데 쓸 사용자 이름을 지정 # haproxy는 mysql에 접속할 때 패스워드를 이용한 인증을 지원하지 않기 때문에 # mysql 서버에서 패스워드 없이 접속할 수 있는 사용자를 생성해주어야 한다. server [서버이름1] [서버1_IP]:3306 check server [서버이름2] [서버2_IP]:3306 check
mysql 설정
패스워드 정책 제거
mysql -u root -p uninstall plugin validate_password; 5.7버전 uninstall component 'file://component_validate_password'; 8.0버전 quit systemctl restart mysqld
패스워드 없는 사용자 생성
mysql -u root -p CREATE USER '사용자 이름'@'%'; 권한도 없고 패스워드도 없는 사용자가 생성됨 GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%'; // 여기서 remote는 임의의 계정이름
양방향으로 master - slave 설정
2023.02.13 - [서버 관리] - 12. db 이중화1
여기에서 양쪽 db서버다 마스터 슬레이브 설정
haproxy 설정
설치
yum install haproxy
설정
systemctl stop firewalld //방화벽 끄기 setenforce 0 //로컬방화벽 끄기
vi /etc/haproxy/haproxy.cfg 마지막 줄에 추가 listen stats # haproxy 모니터링 페이지 설정 bind :9000 # 웹브라우저를 이용해서 9000포트로 접속하면 stats enable # haproxy 모니터링 페이지로 접속 됨 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의 사용자 이름 이 예제에선 remote사용] # mysql에 헬스체크를 하는데 쓸 사용자 이름을 지정 # haproxy는 mysql에 접속할 때 패스워드를 이용한 인증을 지원하지 않기 때문에 # mysql 서버에서 패스워드 없이 접속할 수 있는 사용자를 생성해주어야 한다. server [서버이름1] [서버1_IP]:3306 check server [서버이름2] [서버2_IP]:3306 check
서비스 재시작
systemctl restart haproxy // 에러 발생, 리눅스는 기본적으로 // 본인 IP가 아닌 주소로 포트 여는 것 불가하기 때문에 systemctl status haproxy // 에러 확인 cat /var/log/messages // 로그 확인 echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind // 본인 IP가 아니어도 포트 열 수 있게 허용 setenforce 0 // 방금 위의 설정을 SELINUX 방화벽이 막기 때문에 방화벽 끄기 systemctl restart haproxy // 에러 없이 정상적으로 실행 systemctl status haproxy // 상태 확인
테스트
haproxy 모니터링 페이지에서 확인
http://[프록시 서버 IP]:9000/haproxy_stats 접속했을 때 DB 서버 2대가 UP상태여야 함
mysql 접속
mysql 클라이언트로 mysql 서버로 접속하는데 이때 서버의 IP를 프록시 서버의 IP로 지정
show variables LIKE '%server_id%'\G;
서버 ID 확인했을 때 설정한 서버 ID가 맞는지 확인728x90반응형LIST'서버 관리 > DB 서버' 카테고리의 다른 글
12. db 이중화1 (0) 2023.02.13 이전글이 없습니다.댓글