>  기사  >  데이터 베이스  >  MySQL에서 서버 간 및 데이터베이스 간 데이터 작업을 구현하는 방법은 무엇입니까?

MySQL에서 서버 간 및 데이터베이스 간 데이터 작업을 구현하는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-07-30 14:39:191893검색

MySQL은 웹 애플리케이션의 데이터 저장 및 관리에 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 실제 애플리케이션 시나리오에서는 데이터 동기화, 데이터 마이그레이션 또는 여러 데이터베이스 간의 데이터 분산 관리와 같은 데이터에 대한 서버 간 및 데이터베이스 간 작업을 구현해야 하는 경우가 많습니다.

다음은 MySQL에서 서버 간, 데이터베이스 간 데이터 작업을 구현하는 방법과 샘플 코드를 소개합니다.

  1. Federated Storage Engine 사용
    Federated Storage Engine은 MySQL에서 제공하는 스토리지 엔진입니다. 이 스토리지 엔진을 통해 다른 MySQL 서버에 연결된 MySQL 인스턴스에 테이블을 생성하여 서버 간 데이터 작업을 실현할 수 있습니다. .

먼저 MySQL 서버에서 Federated 스토리지 엔진을 활성화해야 합니다. my.cnf 구성 파일에 다음 구성을 추가합니다.

[mysqld]
federated = ON

그런 다음 데이터베이스에 Federated 테이블을 생성하고 연결할 원격 MySQL 서버의 정보를 지정합니다.

CREATE TABLE federated_table (
    id INT(11) AUTO_INCREMENT,
    data VARCHAR(100),
    PRIMARY KEY (id)
) ENGINE=FEDERATED
DEFAULT CHARSET=utf8
CONNECTION='mysql://[用户名]:[密码]@[远程MySQL服务器IP地址]:[端口号]/[数据库名]/[远程表名]';

위 코드에서 [username], [password] , [원격 MySQL 서버 IP 주소], [포트 번호], [데이터베이스 이름], [원격 테이블 이름]은 실제 상황에 맞게 교체되어야 합니다. 생성이 성공한 후 이 Federated 테이블을 운영하여 서버 간 데이터 작업을 수행할 수 있습니다.

  1. 복제 기능 사용
    MySQL의 복제 기능은 한 MySQL 서버의 데이터를 다른 MySQL 서버로 복사하여 서버 간 데이터 작업을 수행할 수 있습니다.

먼저 기본 데이터베이스를 구성합니다. my.cnf 구성 파일에 다음 구성을 추가합니다.

[mysqld]
server-id=1
log_bin=mysql-bin
binlog_format=row

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

슬레이브 데이터베이스를 구성하세요. my.cnf 구성 파일에 다음 구성을 추가합니다.

[mysqld]
server-id=2

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

마스터 데이터베이스에 복제 계정을 생성하고 복제 권한 부여:

CREATE USER 'repl_user'@'从数据库IP地址' IDENTIFIED BY 'repl_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'从数据库IP地址';

그 중 슬레이브 데이터베이스 IP 주소를 실제 슬레이브 데이터베이스 IP 주소로 바꿔야 합니다.

그런 다음 기본 데이터베이스에서 바이너리 로그의 파일 이름과 위치를 확인합니다.

SHOW MASTER STATUS;

파일 및 위치 값을 기록합니다.

슬레이브 데이터베이스에 복제 정보 설정:

CHANGE MASTER TO
MASTER_HOST='主数据库IP地址',
MASTER_USER='repl_user',
MASTER_PASSWORD='repl_password',
MASTER_LOG_FILE='二进制日志的文件名',
MASTER_LOG_POS=二进制日志的位置;

그 중 마스터 데이터베이스 IP 주소를 실제 마스터 데이터베이스 IP 주소로 바꿔야 하며, 바이너리 로그의 파일 이름과 위치는 해당 값을 사용해야 합니다. 이전 단계에서 녹음되었습니다.

그런 다음 슬레이브 데이터베이스에서 복제 프로세스를 시작합니다.

START SLAVE;

SHOW SLAVE STATUSG 명령을 통해 복제 프로세스 상태를 볼 수 있습니다.

이러한 방식으로 마스터 데이터베이스의 데이터 수정 작업이 슬레이브 데이터베이스에 동기화되어 서버 간 데이터 작업이 실현됩니다.

요약하자면, MySQL은 통합 스토리지 엔진과 복제 복제 기능을 통해 서버 간 및 데이터베이스 간 데이터 작업을 실현할 수 있습니다. 개발자는 실제 요구 사항에 따라 서버 간 및 데이터베이스 간 데이터 작업을 수행하는 데 적합한 방법을 선택할 수 있습니다.

위 내용은 MySQL에서 서버 간 및 데이터베이스 간 데이터 작업을 구현하기 위한 방법과 샘플 코드입니다.

위 내용은 MySQL에서 서버 간 및 데이터베이스 간 데이터 작업을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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