MySQL의 복제 기능을 사용하여 데이터 백업 및 재해 복구를 수행하는 방법
소개:
MySQL은 실제 응용 프로그램에서 일반적으로 사용되는 관계형 데이터베이스 관리 시스템으로, 데이터 보안과 고가용성을 보장하기 위해 데이터 백업 및 재해 복구가 자주 수행됩니다. 재해 복구 작업이 필요합니다. MySQL의 복제 기능은 데이터 백업 및 재해 복구를 실현할 수 있습니다. 이 기사에서는 MySQL의 복제 기능을 사용하여 데이터 백업 및 재해 복구를 구현하는 방법을 소개하고 코드 예제를 제공합니다.
1. 복제 기능 소개
MySQL의 복제 기능은 바이너리 로그(Binary Log)를 통해 구현됩니다. 간단히 말하면, 복제 기능은 마스터 데이터베이스의 모든 쓰기 작업을 바이너리 로그에 기록한 다음, 바이너리 로그의 정보를 기반으로 슬레이브 데이터베이스에서 이러한 작업을 재생함으로써 슬레이브 데이터베이스의 데이터가 쓰기 작업과 일치하도록 보장합니다. 마스터 데이터베이스.
2. 메인 데이터베이스 설정
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; -- '%'代表允许来自任意IP地址访问 GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES;
log-bin=mysql-bin
그런 다음 MySQL 서비스를 다시 시작합니다.
SHOW MASTER STATUS;
데이터베이스에서 사용될 파일 및 위치 필드의 값을 기록하세요.
3. 슬레이브 데이터베이스 설정
server-id=2 -- 从数据库的唯一标识,不同数据库必须有不同的值
그런 다음 MySQL 서비스를 다시 시작하세요.
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. 데이터 백업 및 재해 복구 테스트
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;
그런 다음 마스터 데이터베이스의 데이터가 자동으로 동기화되는지 슬레이브 데이터베이스에서 확인하세요.
마스터 데이터베이스가 중지된 후에도 슬레이브 데이터베이스는 계속 작동하며 슬레이브 데이터베이스를 읽고 쓸 수 있습니다.
완료 후 메인 데이터베이스의 MySQL 서비스를 다시 시작하세요. 메인 데이터베이스가 정상으로 돌아오면 슬레이브 데이터베이스가 자동으로 메인 데이터베이스의 데이터를 동기화합니다.
5. 요약
MySQL의 복제 기능을 통해 데이터 백업 및 재해 복구를 쉽게 수행할 수 있습니다. 마스터 및 슬레이브 데이터베이스를 설정하는 프로세스는 비교적 간단하며 몇 가지 구성과 명령만 필요합니다. 복제 기능을 사용하면 마스터 데이터베이스와 슬레이브 데이터베이스 간의 데이터 동기화를 보장하고 마스터 데이터베이스가 다운되더라도 슬레이브 데이터베이스가 계속 작동할 수 있도록 보장하여 시스템 가용성을 향상시킬 수 있습니다.
코드 예:
위 내용은 MySQL의 복제 기능을 사용하여 데이터 백업 및 재해 복구를 달성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!