배경
해당 hdd 파티션이있는 mysql 서버에서 작업 중입니다.
...
/dev/vdd 99G 58G 39G 61% /var/lib/mysql
tmpfs 2,4G 0 2,4G 0% /tmp
...
mysql 덤프를 데이터베이스로 가져와야합니다. 따라서 다음 구문을 사용합니다.
gunzip -c sql_dump.sql.gz | mysql -uDB_USER -p DB_NAME
일반적으로 이것은 작동하지만 sql_dump.sql.gz
압축을 풀 때 내 파일은 5GB 이상입니다.
위의 명령은 gzip: /home/.../sql_dump.sql.gz: No space left on device
. mysql
여유 공간이 충분한 /tmp
파티션이 아니라 2.4GB 여유 공간 만있는 파티션 이라고 생각합니다 .
지금 /var/lib/mysql
은 충분한 여유 공간이 있는 파티션으로 파일을 이동했습니다 . 거기에 내 파일을 gunzip하고 mysql 가져 오기를 시작하고 나중에 압축 및 압축 해제 파일을 제거했습니다.
질문
gunzip
기본 임시 대상 위치 (기본값)를 임시로 변경 하도록 강제 할 수있는 방법이 있는지 스스로에게 물었습니다 /tmp/
. 즉, 그래서 gunzip -c sql_dump.sql.gz | ...
에서 추출 된 파일을 저장하지 않습니다 /tmp/
하지만 아래 /var/lib/mysql
파일을 추출하는 동안. 이 같은:
export "GZIP_TMP_DIR=/var/lib/mysql/"
gunzip -c sql_dump.sql.gz | mysql -uDB_USER -p DB_NAME
이것도 가능합니까? 나는 많이 검색했지만이 특정한 필요를 해결할 수있는 것을 찾지 못했습니다.
환경 변수에 원하는 임시 디렉토리를 설정합니다 TMPDIR
( https://en.wikipedia.org/wiki/TMPDIR 참조 ).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다