나는과 같이 내 로컬 개발 환경에 거대한 데이터베이스 업데이트를 실행해야합니다 : 그것은 완료하는 데 몇 시간이 걸릴 수 있기 때문에'gunzip <database.sql.gz |'에서 진행 상황을 표시 할 수있는 방법이 있습니까? mysql ...`프로세스? 일주일에 한 번
$ gunzip < /path/to/database1.sql.gz | mysql -uUSER -p database1 &
$ gunzip < /path/to/database2.sql.gz | mysql -uUSER -p database2 &
$ gunzip < /path/to/database3.sql.gz | mysql -uUSER -p database3 &
내가 하룻밤이를 실행 해보십시오.
이러한 작업에 대한 진행 상황을 보여줄 수 있습니까? 여기
몇 가지 추측은 다음과 같습니다- 는 DB의 압축되지 않은 파일 크기를 취득하고 현재 (내 현재의 방법을 삽입 무슨 테이블보기 위해 MySQL의에서
- 내 로컬 DB의 크기와 실행
show processlist
비교하지만, 일부 테이블은 거대하고, 내 적어도 하나의 DB는 단지 db.sql.gz 파일을 모두 도움 미만이 옵션)
를 떠나, 그래서 프로세스의 대부분은이 표에 붙어 하나 개의 거대한 테이블이 있습니다 표준 gzip 된 mysqldump이므로 나는 나에게 업데이트를주기 위해 무엇이든 덤프에 설치할 수 있다고 생각하지 않는다.
- 하는 것은 유용하고 합리적으로 정확한 진행 상황을 제공 (중 시각적 같은
scp
:
바운티 규칙
답변해야합니다 (내가 뭔가를 누락하지만 난 그에게 열려있어) (선호!) 또는 쉽게 액세스 할 수있는 간단한 진행 데이터베이스 테이블을 통해). 그래서
mysqldump
특별하거나 다른 MySQL의 지점 요청에 쉽게 유지 - - 는
- 내 DBA에게 심장 마비를 제공하지 않음 (당신이 와서 무엇이든 사용할 수 없습니다 다른 엔지니어) 일반
mysqldump
수출 또는 일반gunzip ... | mysql
수입을 중단하지 않습니다.
감사합니다. 전체 프로세스에서 의미있는 발전을 이루기 위해 MySQL을 압축 해제하고 가져 오는 맥락에서 이것이 어떻게 작동 하는지를 보여줄 수 있습니까? – Ryan
# pv gunzip] 11 % ETA 0:02:10 – Ali
업데이트 :이 솔루션은 환상적입니다! 예상대로 잘할 수 있습니다. ETA 표시기는 내가 원하는 것보다 더 많이 변동하지만 다양한 프로세스가 느려지거나 속도가 빨라질 것으로 예상됩니다. @ factorde7은이 솔루션에 대한 주요 업보를받을 자격이 있습니다. 나는 몇 년 전에 그것을 알고 있었으면 좋겠다. – Ryan