Linux에서 고가용성 데이터베이스 마스터-슬레이브 복제 모니터링을 구성하는 방법
Linux에서 고가용성 데이터베이스 마스터-슬레이브 복제 모니터링을 구성하는 방법
소개:
현대 기술 환경에서 데이터베이스는 핵심 구성 요소이며 많은 애플리케이션이 이에 의존합니다. 가용성 및 데이터 보호를 고려할 때 데이터베이스 고가용성 및 마스터-슬레이브 복제는 매우 중요한 기능입니다. 이 문서에서는 Linux에서 고가용성 데이터베이스 마스터-슬레이브 복제 모니터링을 구성하는 방법을 소개하고 샘플 코드를 통해 단계를 보여줍니다.
마스터-슬레이브 복제 작동 방식:
마스터-슬레이브 복제는 하나의 데이터베이스 서버가 마스터 서버(마스터) 역할을 하고 다른 서버는 슬레이브 서버(슬레이브) 역할을 하는 일반적인 데이터베이스 복제 방법입니다. 마스터 서버에서 받은 쓰기 작업은 슬레이브 서버에 복사됩니다. 이 아키텍처는 데이터 중복성, 읽기-쓰기 분리 및 오류 복구의 이점을 제공합니다.
메인 서버 구성:
먼저 데이터베이스 서버를 설치해야 합니다. 이 문서에서는 MySQL을 예로 들어 설명합니다.
-
MySQL 서버 설치:
sudo apt update sudo apt install mysql-server
로그인 후 복사로그인 후 복사 마스터 서버 구성:
MySQL 구성 파일 편집:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
로그인 후 복사로그인 후 복사파일에서 다음 줄을 찾아 수정합니다.
bind-address = 0.0.0.0 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
로그인 후 복사MySQL 서비스를 다시 시작합니다.
sudo systemctl restart mysql
로그인 후 복사로그인 후 복사
슬레이브 서버 구성:
MySQL 서버 설치:
sudo apt update sudo apt install mysql-server
로그인 후 복사로그인 후 복사슬레이브 서버 구성:
MySQL 구성 파일 편집:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
로그인 후 복사로그인 후 복사파일에서 다음 줄을 찾아 수정합니다.
bind-address = 0.0.0.0 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log relay_log = /var/log/mysql/mysql-relay-bin.log
로그인 후 복사MySQL 서비스 다시 시작:
sudo systemctl restart mysql
로그인 후 복사로그인 후 복사
마스터-슬레이브 관계 설정:
마스터 서버에서 복제할 사용자 만들기:
mysql -u root -p GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; EXIT;
로그인 후 복사슬레이브 서버에서 마스터 서버 정보 구성 :
mysql -u root -p CHANGE MASTER TO MASTER_HOST='主服务器的IP地址', MASTER_USER='replication_user', MASTER_PASSWORD='password'; START SLAVE; EXIT;
로그인 후 복사- 마스터-슬레이브 복제가 제대로 작동하는지 확인하세요.
메인 서버에 데이터베이스와 테이블을 생성하고 일부 데이터를 삽입하세요. 그런 다음 슬레이브 서버에서 해당 데이터를 볼 수 있는지 확인하십시오.
구성 모니터링:
데이터베이스 마스터-슬레이브 복제의 고가용성을 보장하려면 상태를 모니터링하고 적시에 오류를 감지 및 처리해야 합니다. 아래는 Python으로 작성된 간단한 모니터링 스크립트입니다.
필요한 Python 패키지 설치:
sudo apt update sudo apt install python3-pip pip3 install mysql-connector-python pip3 install smtplib
로그인 후 복사monitor.py 파일을 생성하고 다음 코드를 파일에 복사합니다.
import smtplib import mysql.connector from email.mime.text import MIMEText def send_email(message): sender = "your_email@gmail.com" receiver = "recipient_email@gmail.com" subject = "Database Replication Alert" msg = MIMEText(message) msg['Subject'] = subject msg['From'] = sender msg['To'] = receiver try: with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp: smtp.login(sender, "your_password") smtp.sendmail(sender, receiver, msg.as_string()) print("Email sent successfully!") except Exception as e: print("Email failed to send: " + str(e)) def monitor_replication(): try: connection = mysql.connector.connect(host="localhost", user="replication_user", password="password", database="test") cursor = connection.cursor() cursor.execute("SELECT COUNT(*) FROM my_table") result = cursor.fetchone() cursor.close() connection.close() print("Replication is working fine, number of records: " + str(result[0])) except mysql.connector.Error as error: message = "Replication failed: " + str(error) print(message) send_email(message) if __name__ == "__main__": monitor_replication()
로그인 후 복사- 발신자와 수신자를 포함하여 monitor.py의 구성 정보를 수정합니다. 발신자의 이메일 주소, 보내는 사람의 이메일 비밀번호.
- 예약된 작업에 추가할 수 있는 monitor.py 스크립트를 실행하여 데이터베이스 마스터-슬레이브 복제 상태를 정기적으로 모니터링하세요.
결론:
위 단계를 통해 Linux에서 고가용성 데이터베이스 마스터-슬레이브 복제 모니터링을 구성할 수 있습니다. 오류 복구 및 가용성을 위해서는 데이터베이스 상태를 지속적으로 모니터링하는 것이 중요합니다. 샘플 코드를 사용하면 데이터베이스 마스터-슬레이브 복제 문제를 적시에 감지하고 처리하여 원활한 비즈니스 운영을 보장할 수 있습니다.
위 내용은 Linux에서 고가용성 데이터베이스 마스터-슬레이브 복제 모니터링을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











대 코드 시스템 요구 사항 : 운영 체제 : Windows 10 이상, MacOS 10.12 이상, Linux 배포 프로세서 : 최소 1.6GHz, 권장 2.0GHz 이상의 메모리 : 최소 512MB, 권장 4GB 이상의 저장 공간 : 최소 250MB, 권장 1GB 및 기타 요구 사항 : 안정 네트워크 연결, Xorg/Wayland (LINUX)

VS 코드 확장을 설치하는 이유는 다음과 같습니다. 네트워크 불안정성, 불충분 한 권한, 시스템 호환성 문제, C 코드 버전은 너무 오래된, 바이러스 백신 소프트웨어 또는 방화벽 간섭입니다. 네트워크 연결, 권한, 로그 파일, 업데이트 대 코드 업데이트, 보안 소프트웨어 비활성화 및 대 코드 또는 컴퓨터를 다시 시작하면 점차 문제를 해결하고 해결할 수 있습니다.

메모장은 Java 코드를 직접 실행할 수는 없지만 다른 도구를 사용하여 명령 줄 컴파일러 (Javac)를 사용하여 Bytecode 파일 (filename.class)을 생성하면 달성 할 수 있습니다. Java Interpreter (Java)를 사용하여 바이트 코드를 해석하고 코드를 실행하고 결과를 출력하십시오.

VS Code는 Full Name Visual Studio Code로, Microsoft가 개발 한 무료 및 오픈 소스 크로스 플랫폼 코드 편집기 및 개발 환경입니다. 광범위한 프로그래밍 언어를 지원하고 구문 강조 표시, 코드 자동 완료, 코드 스 니펫 및 스마트 프롬프트를 제공하여 개발 효율성을 향상시킵니다. 풍부한 확장 생태계를 통해 사용자는 디버거, 코드 서식 도구 및 GIT 통합과 같은 특정 요구 및 언어에 확장을 추가 할 수 있습니다. VS 코드에는 코드에서 버그를 신속하게 찾아서 해결하는 데 도움이되는 직관적 인 디버거도 포함되어 있습니다.

VS 코드는 Mac에서 사용할 수 있습니다. 강력한 확장, GIT 통합, 터미널 및 디버거가 있으며 풍부한 설정 옵션도 제공합니다. 그러나 특히 대규모 프로젝트 또는 고도로 전문적인 개발의 경우 VS 코드는 성능 또는 기능 제한을 가질 수 있습니다.

Visual Studio Code (VSCODE)는 Microsoft가 개발 한 크로스 플랫폼, 오픈 소스 및 무료 코드 편집기입니다. 광범위한 프로그래밍 언어에 대한 가볍고 확장 성 및 지원으로 유명합니다. VSCODE를 설치하려면 공식 웹 사이트를 방문하여 설치 프로그램을 다운로드하고 실행하십시오. VScode를 사용하는 경우 새 프로젝트를 만들고 코드 편집, 디버그 코드, 프로젝트 탐색, VSCODE 확장 및 설정을 관리 할 수 있습니다. VSCODE는 Windows, MacOS 및 Linux에서 사용할 수 있으며 여러 프로그래밍 언어를 지원하며 Marketplace를 통해 다양한 확장을 제공합니다. 이점은 경량, 확장 성, 광범위한 언어 지원, 풍부한 기능 및 버전이 포함됩니다.

Linux의 주요 용도에는 다음이 포함됩니다. 1. 서버 운영 체제, 2. 임베디드 시스템, 3. 데스크탑 운영 체제, 4. 개발 및 테스트 환경. Linux는이 분야에서 뛰어나 안정성, 보안 및 효율적인 개발 도구를 제공합니다.

git 저장소 주소를 보려면 다음 단계를 수행하십시오. 1. 명령 줄을 열고 리포지토리 디렉토리로 이동하십시오. 2. "git remote -v"명령을 실행하십시오. 3. 출력 및 해당 주소에서 저장소 이름을 봅니다.
