10 대의 다른 머신에서 MySQL 데이터를 수집하고 서로 다른 머신에있는 하나의 큰 MySQL 데이터베이스에 집계하려고합니다. 모든 기계는 Linux 기반입니다.machineX에서 machineY로 MySQL 데이터 전송
주기적으로 "델타"데이터 만 수집하려면이 작업을 수행하려면 "mysqldump"구문은 무엇입니까?
다른 방법이 있습니까?
10 대의 다른 머신에서 MySQL 데이터를 수집하고 서로 다른 머신에있는 하나의 큰 MySQL 데이터베이스에 집계하려고합니다. 모든 기계는 Linux 기반입니다.machineX에서 machineY로 MySQL 데이터 전송
주기적으로 "델타"데이터 만 수집하려면이 작업을 수행하려면 "mysqldump"구문은 무엇입니까?
다른 방법이 있습니까?
mysqldump
은 마지막 백업 이후 또는 실제로 마지막 백업이 변경된 경우에도 변경된 행 (또는 스키마의 어떤 부분)을 알 수 없기 때문에 증분 백업을 생성 할 수 없습니다. 이를 위해서는 MySQL binlog를 읽고 INSERT
/UPDATE
/DELETE
문장으로 변환해야합니다. 나는 그와 비슷한 존재하는 것을 전혀 알지 못합니다.
MySQL 백업의 현재 "최첨단"은 일반적으로 Percona XtraBackup으로 간주됩니다.
GNU diff/patch를 사용하여 할 수 있습니다. – brandon
복수 마스터 슬레이브? 각각 10 명을 마스터로, 10 명을 모두 슬레이브로 합니다. 여기서는 집계 할 데이터가 각각 10 가지라고 가정합니다. 10 가지 데이터가 모두 같거나 비슷하다면 인터리브 (interleave)하고 통합 시키면 작동하지 않습니다.
이것은 MySQL에서 기본적으로 지원되지 않습니다. 복제를 사용할 수는 있지만 복제본에는 10 명의 마스터가 아닌 하나의 마스터 만있을 수 있습니다. 두 가지 실행 가능한 옵션을 알고 있습니다 :
1) 라운드 로빈 방식으로 마스터간에 복제본을 전환하는 어떤 스크립트를 작성하는 것입니다. http://code.google.com/p/mysql-mmre/ 또는 http://thenoyes.com/littlenoise/?p=117을 참조하십시오.
2)는 ETL 도구를 사용하는 것입니다.
막히면 우리 (Percona)가 도와 줄 수 있습니다. 이것은 일반적인 요청이지만, 각각의 경우가 다르기 때문에 쉬운 요청은 아닙니다.
대신 복제를 사용하지 않는 이유는 무엇입니까? –