문제

내가 가진 것 :

  • MySQL 5.6 서버 인스턴스의 인스턴스가있는 Windows 시스템.
  • TEST 및 TEST2라는 두 개의 데이터베이스.
  • Test 데이터베이스에는 Columns activityid
  • 열이있는 class라는 테이블이 있습니다.

내가 필요한 것 :

  • test.activity 테이블의 복제를 test2의 조건으로 Test.activity.class = 'B' 데이터베이스로 복제합니다.

다른 서버에서 복제하는 방법을 알고 있습니다.그러나 다른 database 내에서 동일한 서버를 위해서는 아닙니다. 이 링크 에서 확인했습니다.충분한 정보를주지 마십시오.

도움이 되었습니까?

해결책

정상적인 상황이 아닐 것입니다!복제 중에 데이터베이스를 변경할 수 없으며 마스터 / 슬레이브는 동일한 서버 ID를 가질 수 없습니다.이를 수행 해야하는 경우 첫 번째 DB에서 트리거를 설정하고 두 번째 DB에 대해 삽입 / 업데이트 명령을 복제하십시오.

다른 팁

동일한 서버에 있습니다. 왜이 트리거를 사용하지 마십시오.

데이터를 복제하고 싶다면 업데이트 또는 삽입 또는 둘 다 필요에 따라 트리거를 추가 할 수 있습니다.이렇게하면 조건을 쉽게 사용할 수 있습니다.마스터 / 슬레이브 복제는 다른 서버에 대해 더 좋습니다.

에서 볼 수 있습니다....에 및 여기 여기 샘플입니다.

내가 필요로하는 것을 정확하게 이해했으면 하나의 단일 서버 (OS)에 2 개의 MySQL 인스턴스를 가질 수 있습니다. 그 중 하나를 마스터로 구성 할 수 있고 슬레이브로 구성 할 수 있습니다.my.conf를 만들어야합니다. my1.conf 및 my2.conf는 포트 번호와 소켓 경로 및 로그 오류 경로 및 기타 일부 매개 변수에서 다르게됩니다.이 접근 방식을 사용하면 다양한 구성으로 2 개의 MySQL 데몬을 실행합니다.완전한 문서의 경우 https://dev.mysql.com으로 이동하십시오/doc/refman/5.1/en/multiple-servers.html .

MySQL 샌드 박스를 사용하면 문제를 해결할 것입니다 ( http://mysqlsandbox.net//a>)

:

Test2 데이터베이스에 대한 Test.Activity 테이블 복제 조건이있는 데이터베이스 그 test.activity.class= 'b'.

기본 복제가 도움이되지 않으며,이 경우 동일한 서버에 데이터베이스를 모두 남겨두고 마스터 데이터베이스에서 inser / update / delete에 대한 트리거를 설치하고 두 번째 데이터베이스에서 직접 변경 사항을 확인합니다.

이것은 가장 간단합니다.많은 다른 많은 것들이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 dba.stackexchange
scroll top