2013-12-19 2 views
0

마스터 서버의 각 데이터베이스에 다른 유형의 복제를 제공 할 수 있습니까 ?? 예 : 동일한 MySQL 서버에 두 개의 데이터베이스 (DB 1, DB 2)가 있습니다. DB 1 -> 문 기반 복제와 DB 2 -> 행 기반 복제를 제공해야합니다.각 DB마다 다른 복제 유형 MySQL

추신 : 나는 혼합 된 복제를 사용하려고 시도했다. 그러나 많은 문제가있다. 왜냐하면 많은 트리거가 (그래서 나는 문장 기반이 필요하다.) 어떤 경우에는 행 기반이 필요하기 때문이다.

답변

0

데이터베이스 수준에 대한 설정을 할 수 없으며이 설정은 서버 수준에서만 작동하며 my.cnf 파일로 지정해야합니다. 문 기반 복제 로그 파일에 기록

  • 적은 데이터의

    장점. 업데이트 또는 삭제가 많은 행에 영향을 주면 로그 파일에 필요한 저장 공간이 훨씬 줄어 듭니다. 이는 또한 백업에서 가져 오기 및 복원이 더 빨리 완료 될 수 있음을 의미합니다.

  • 로그 파일에는 변경된 모든 명령문이 포함되어 있으므로 데이터베이스를 감사하는 데 사용할 수 있습니다. 모든 변경 사항을 복제 할 수 있습니다

    • 행 기반 복제의

    장점. 이것은 가장 안전한 복제 형태입니다.

  • 5.1.14 이전의 MySQL 버전

, DDL (데이터 정의 언어) 등의 문을 문 기반 복제를 사용하여 복제되는 반면, DML 문뿐만 아니라 GRANT를 테이블을 만들고 REVOKE와 같은 진술은 행을 사용하여 복제 기반 복제.

  • MySQL 5.1.14 이상에서는 mysql 데이터베이스가 복제되지 않습니다. 대신 mysql 데이터베이스는 노드 특정 데이터베이스로 간주된다. 행 기반 복제는이 데이터베이스의 테이블에서 지원되지 않습니다. 대신 GRANT, REVOKE 및 트리거 조작, 저장 루틴 (저장 프로 시저 포함) 및보기와 같이이 정보를 정상적으로 갱신하는 명령문은 모두 명령문 기반 복제를 사용하여 슬레이브에 복제됩니다.
  • CREATE TABLE ... SELECT와 같은 문에서는 CREATE 문이 테이블 정의에서 생성되고 명령문 기반 형식을 사용하여 복제되며 행 삽입은 행 기반 형식을 사용하여 복제됩니다.
  • 이 기술은 대부분의 다른 데이터베이스 관리 시스템과 동일합니다. 다른 시스템에 대한 지식은 MySQL로 전달됩니다. 절 키를 사용하거나하지 않는 WHERE 함께 문 AUTO_INCREMENT UPDATE와 INSERT 명령문을 선택하거나 삭제 ... INSERT :
  • 적은 행 잠금 따라서 다음 내용의 유형, 높은 동시성을 실현 마스터에 필요한 대부분의 조사 행을 변경하지 않습니다. INSERT, UPDATE 또는 DELETE 문에서 슬레이브에 필요한 행 잠금이 적습니다. 자세한 내용은

은 참조 : http://dev.mysql.com/doc/refman/5.1/en/replication-sbr-rbr.html