-C
옵션은 MySQL의 클라이언트 - 서버 프로토콜에 존재할 수있는 압축을 사용합니다. Gzip'ing은 파이프 라인에서 gzip
유틸리티를 사용합니다. 나는 압축과 압축 해제가이 경우 동일한 기계에서 일어날 것이기 때문에 후자가 아무런 효과가 없을 것이라고 확신한다. 덤프하는 컴퓨터가 로컬 인 경우 -C
옵션은 CPU 사이클을 낭비하는 것일뿐입니다. mysqldump
과 mysqld
사이의 프로토콜 메시지를 압축합니다.
mysqldump -u root -p database_name | mysql -C -h other-host -Ddatabase_name -B
이 mysqldump
의 출력은 mysql
명령 줄 클라이언트가 읽을 파이프 라인에 것입니다 : 여기에 적합 할 수 있습니다
유일한 명령 파이프 라인은 같은 것입니다. -C
옵션은 mysql
에게 메시지가 other-host
으로 압축되도록합니다. -B
옵션을 사용하면 클라이언트를 mysql
버퍼링 및 대화 형 동작을 사용하지 않도록 설정할 수 있습니다. 당신은 SSH 어쨌든 다른 시스템에서 실행 가지고 제공
mysqldump -u root -p database_name | gzip > dump.gz
scp dump.gz [email protected]:/tmp
ssh [email protected] "gunzip /tmp/dump.gz | mysql -Ddatabase_name -B; rm /tmp/dump.gz"
:
아마 같은 것보다는 빠르다.
내가 아는 한, -C는 원본 mysql 서버에서 SQL을 덤프하는 대상 서버로 보내지는 동안 sql 코드를 압축 한 다음 대상 서버에서 압축을 풀고 압축되지 않은 데이터를 저장합니다 파일 (일반적으로) 하드 디스크에. gzipping하는 동안 압축 된 gzip 파일이 하드 디스크에 저장됩니다. –