gzip으로 압축 된 SQL 파일을 mysql로 직접 가져 오려고합니다. 이것이 올바른 방법입니까?
mysql -uroot -ppassword mydb > myfile.sql.gz
답변
zcat /path/to/file.sql.gz | mysql -u 'root' -p your_database
>
mysql
명령 의 출력을 stdout
파일 에 작성합니다 myfile.sql.gz
. 원하는 파일 이 아닐 수도 있습니다. 또한이 명령은 MySQL 사용자 “root”의 비밀번호를 묻습니다.
답변
sql.gz 파일을 가져 오는 동안 진행률 표시 줄을 표시하려면 pv
다음을 다운로드 하여 사용하십시오.
pv mydump.sql.gz | gunzip | mysql -u root -p
CentOS / RHEL에서을 사용하여 pv를 설치할 수 있습니다 yum install pv
.
데비안 / 우분투에서 apt-get install pv
.
MAC에서 brew install pv
답변
가장 간단한 방법은 가져 오기 전에 데이터베이스 파일의 압축을 푸는 것입니다. 또한 @Prof. Moriarty 에서는 명령에 비밀번호를 지정하지 않아야합니다 (비밀번호를 묻는 메시지가 표시됨). webcheatsheet 에서 가져온이 명령 은 데이터베이스를 압축 해제하여 한 번에 가져옵니다.
gunzip < myfile.sql.gz | mysql -u root -p mydb
답변
당신이에서 오류가 나타나면 zcat
오류 메시지가 별도의 접미사로 파일 이름을 포함하는을 .Z
한 후 사용해보십시오 gzcat
에서 설명 된 바와 같이, 대신 https://stackoverflow.com/questions/296717/zcat-wont-unzip-files-properly
답변
macOS에서는 다음을 사용했습니다.
zcat < [Database].sql.gz | mysql -u root -p [Database Name in MySQL]
비밀번호를 입력하십시오.
답변
또한 SQL 파일에 USE 문이 있는지 확인하십시오. 명령 행에서 데이터베이스를 지정한다고해서 SQL 파일 내에 다른 대상이 지정된 경우 데이터가 종료되는 것은 아닙니다.
답변
들어 레스 햇의 bzip2 압축 파일 (.sql.bz2)를 사용 :
bzcat <file> | mysql -u <user> -p <database>
또는
pv <file> | bunzip2 | mysql -u <user> -p <database>
진행률 표시 줄을 볼 수 있습니다.