>  기사  >  데이터 베이스  >  MySQL의 복제 기능을 사용하여 데이터 백업 및 재해 복구를 달성하는 방법

MySQL의 복제 기능을 사용하여 데이터 백업 및 재해 복구를 달성하는 방법

WBOY
WBOY원래의
2023-08-06 11:46:45894검색

MySQL의 복제 기능을 사용하여 데이터 백업 및 재해 복구를 수행하는 방법

소개:
MySQL은 실제 응용 프로그램에서 일반적으로 사용되는 관계형 데이터베이스 관리 시스템으로, 데이터 보안과 고가용성을 보장하기 위해 데이터 백업 및 재해 복구가 자주 수행됩니다. 재해 복구 작업이 필요합니다. MySQL의 복제 기능은 데이터 백업 및 재해 복구를 실현할 수 있습니다. 이 기사에서는 MySQL의 복제 기능을 사용하여 데이터 백업 및 재해 복구를 구현하는 방법을 소개하고 코드 예제를 제공합니다.

1. 복제 기능 소개
MySQL의 복제 기능은 바이너리 로그(Binary Log)를 통해 구현됩니다. 간단히 말하면, 복제 기능은 마스터 데이터베이스의 모든 쓰기 작업을 바이너리 로그에 기록한 다음, 바이너리 로그의 정보를 기반으로 슬레이브 데이터베이스에서 이러한 작업을 재생함으로써 슬레이브 데이터베이스의 데이터가 쓰기 작업과 일치하도록 보장합니다. 마스터 데이터베이스.

2. 메인 데이터베이스 설정

  1. 복제 계정 생성
    먼저 메인 데이터베이스에 복제할 계정을 생성합니다. 다음 명령문을 사용하여 기본 데이터베이스에 repl이라는 계정을 생성하고 repl 계정에 복제 권한을 부여할 수 있습니다.
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; -- '%'代表允许来自任意IP地址访问
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
  1. 바이너리 로그 활성화
    메인 데이터베이스의 구성 파일(my.cnf)에서 바이너리 로그를 활성화합니다. my.cnf 파일에 다음 구성을 추가합니다.
log-bin=mysql-bin

그런 다음 MySQL 서비스를 다시 시작합니다.

  1. 기본 데이터베이스 상태 가져오기
    다음 명령문을 사용하여 이후 사용을 위해 기본 데이터베이스의 상태 정보를 가져옵니다.
SHOW MASTER STATUS;

데이터베이스에서 사용될 파일 및 위치 필드의 값을 기록하세요.

3. 슬레이브 데이터베이스 설정

  1. 슬레이브 데이터베이스의 복제 구성 설정
    슬레이브 데이터베이스 구성 파일(my.cnf)에서 다음을 구성하세요.
server-id=2  -- 从数据库的唯一标识,不同数据库必须有不同的值

그런 다음 MySQL 서비스를 다시 시작하세요.

  1. 복제 시작
    복제를 시작하려면 슬레이브 데이터베이스에서 다음 문을 사용하세요.
CHANGE MASTER TO
  MASTER_HOST='主库IP', -- 主数据库的IP地址
  MASTER_PORT=主库端口,  -- 主数据库的端口
  MASTER_USER='repl',
  MASTER_PASSWORD='repl账号的密码',
  MASTER_LOG_FILE='主库的File字段值',
  MASTER_LOG_POS=主库的Position字段值;

START SLAVE;

SHOW SLAVE STATUS 명령을 사용하여 슬레이브 데이터베이스의 복제 상태를 확인하고 Slave_IO_Running 및 Slave_SQL_Running 필드가 모두 Yes인지 확인하세요. .

4. 데이터 백업 및 재해 복구 테스트

  1. 데이터 백업
    메인 데이터베이스에 테스트 테이블을 생성하고 일부 데이터를 삽입합니다.
CREATE DATABASE test;
USE test;
CREATE TABLE tb_test (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20));

INSERT INTO tb_test (name) VALUES ('张三'),('李四'),('王五');

SELECT * FROM tb_test;

그런 다음 마스터 데이터베이스의 데이터가 자동으로 동기화되는지 슬레이브 데이터베이스에서 확인하세요.

  1. 재해 복구 테스트
    메인 데이터베이스의 MySQL 서비스를 중지하여 메인 데이터베이스 다운타임을 시뮬레이션할 수 있습니다.

마스터 데이터베이스가 중지된 후에도 슬레이브 데이터베이스는 계속 작동하며 슬레이브 데이터베이스를 읽고 쓸 수 있습니다.

완료 후 메인 데이터베이스의 MySQL 서비스를 다시 시작하세요. 메인 데이터베이스가 정상으로 돌아오면 슬레이브 데이터베이스가 자동으로 메인 데이터베이스의 데이터를 동기화합니다.

5. 요약
MySQL의 복제 기능을 통해 데이터 백업 및 재해 복구를 쉽게 수행할 수 있습니다. 마스터 및 슬레이브 데이터베이스를 설정하는 프로세스는 비교적 간단하며 몇 가지 구성과 명령만 필요합니다. 복제 기능을 사용하면 마스터 데이터베이스와 슬레이브 데이터베이스 간의 데이터 동기화를 보장하고 마스터 데이터베이스가 다운되더라도 슬레이브 데이터베이스가 계속 작동할 수 있도록 보장하여 시스템 가용성을 향상시킬 수 있습니다.

코드 예:

위 내용은 MySQL의 복제 기능을 사용하여 데이터 백업 및 재해 복구를 달성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.