2013-10-28 2 views
0

mysql이 설치된 두 개의 서버 A와 B가 있습니다. 현재 내 사이트가 서버 A에서로드 중입니다.mysql 머지가 다른 테이블에서 동일한 설명으로 변경됩니다.

데이터베이스 A에서 데이터베이스 백업을 가져 와서 특정 날짜 (예 : oct17)에 서버 B에 복원했습니다. 사이트가 라이브 였기 때문에 서버 A의 데이터베이스를 oct24까지 계속 업데이트했습니다. 우연히 나는 서버 B를 라이브로 만들었다 (oct 24). 그래서 데이터베이스 B에서 oct 17 이후와 oct 24 이전에 내용이 누락되었습니다. 서버 B가 현재 라이브이므로 지금 업데이트 중입니다. 누락 된 내용을 데이터베이스 B에 어떻게 추가 할 수 있습니까?

내가 계획하고있는 한 가지 사실은 데이터베이스 B에서 데이터베이스 A의 테이블로 oct 24 이후의 모든 내용을 복사하는 것입니다. 모든 테이블을 업데이트 한 후 A에서 데이터베이스를 덤프하고 B 데이터베이스로 복원하십시오 .....

문제를 해결하려면 어떤 아이디어가 필요하십니까? 값을 비교하고 업데이트하는 도구는 무엇입니까? MySQL Utilities에서 mysqldbcompare 당신을 위해 일을 할 수있는 경우

감사합니다,

+0

NOT이있는 경우 당신이 할 수있는 (...) 그리고 ..., 즉 데이터가 B에 존재하지 않는 경우, 그런 다음 B에 추가하십시오. – Krishna

+0

@MisterSpock : 빠른 답장을 보내 주셔서 감사합니다. 나는 커맨드 라인에 익숙하지 않다. 두 서버 모두에 phpmyadmin이 있습니다. 업데이트가 오는 서버 B에서 행을 찾으면 그 중 하나만 덤프 할 수있는 방법이 있습니까? 또는 비교를 수행 할 도구가 있습니까? – Gopu

+0

[MySQL 유틸리티] (http://dev.mysql.com/doc/workbench/en/mysqldbcompare.html)에서 mysqldbcompare를 확인할 수 있습니다. 데이터베이스 A와 일치하도록 데이터베이스 B를 업데이트 할 일련의 SQL 문을 생성 할 수 있습니다. –

답변

0

당신은 확인할 수 있습니다.

mysqldbcompare --server1=A --server2=B --changes-for=B --difftype=sql 

서버 B 일치 서버 A.를 만들 것입니다 SQL 문을 생성해야

관련 문제