직장에서 우리는 야간에 mysql 데이터베이스를 덤프합니다. 매일 매일 데이터의 90-95 %에 가까운 데이터가 복제되어 시간이 지남에 따라 증가한다고 생각합니다. (이 시점에서 일부는 아마도 99 % 일 것입니다)
이 덤프는 한 줄이 단일 mysql INSERT 문인 곳이므로 유일한 차이점은 전체 줄과 파일의 순서입니다. 정렬하면 파일 간 실제 차이가 매우 작습니다.
나는 찾고 있었고 덤프에서 출력을 정렬하는 방법을 찾지 못했습니다. sort
그래도 명령을 통해 파이프로 연결할 수 있습니다. 그러면 같은 줄의 길고 긴 블록이있을 것입니다.
그래서 나는 diff 만 저장하는 방법을 찾으려고 노력하고 있습니다. 마스터 덤프로 시작할 수 있고 매일 밤 저것과 비교할 수 있습니다. 그러나 diff는 매일 밤 더 커질 것입니다. 또는 개별적으로 매우 작은 롤링 디프를 만들 수 있지만 매일 밤 전체 시리즈의 마스터 디프를 구성 해야하는 경우 계산하는 데 더 오래 걸리는 것처럼 보입니다.
이것이 가능합니까? 어떤 도구로?
편집 나는 MySQL 백업을 수행하는 방법을 묻지 않습니다. 지금은 mysql을 잊어 버리십시오. 붉은 청어입니다. 내가 알고 싶은 것은 일련의 파일에서 일련의 롤링 diff를 만드는 방법입니다. 매일 밤 우리는 이전의 파일 과 99 % 비슷한 파일 ( mysqldump 파일이 됨 )을 얻 습니다. 예, 모두 압축합니다. 그러나 처음에 모든 중복성을 갖는 것은 중복입니다. 내가 정말로 필요한 것은 전날 밤과의 차이입니다. 전날 밤과 1 % 만 다릅니다 ... 등등. 그래서 내가 따르는 것은 일련의 diff를 만드는 방법이므로 매일 밤 1 % 만 저장하면됩니다.