명령 줄을 대용량 SQL 파일을 MySql로 가져 오기
Ubuntu의 명령 줄을 통해 약 300MB의 SQL 파일을 MySql로 가져옵니다. 나는 사용했다
source /var/www/myfile.sql;
지금은 다음과 같은 무한한 행을 표시하고 있습니다.
Query OK, 1 row affected (0.03 sec)
그러나 그것은 지금 조금 실행되고 있습니다. 이전에 이렇게 큰 파일을 가져 오기 오지 갑자기 기 때문에 프로세스가 중단 오류가있는 경우인지 알고 싶습니다. 이것이 명령 줄에 표시 될까요 아니면이 프로세스가 무기한 계속 될까요?
감사합니다
다음과 같은 표준 입력을 사용하여 .sql 파일을 사용할 수 있습니다.
mysql -u <user> -p<password> <dbname> < file.sql
참고 :<-p>
와 사이 에 공백이 없어야합니다 .<password>
참조 : http://dev.mysql.com/doc/refman/5.0/en/mysql-batch-commands.html
제안 된 편집에 대한 참고 사항 : 이 답변은 인라인 암호 변수를 사용 제안 제안 된 편집에 약간 변경되었습니다. 확장 용으로 추천 할 수있는 요청 변수 ( -p<password>
)에 직접 비밀번호를 쓰면 쉘 히스토리에 캐시되어 스토리 파일을 읽을 수있는 모든 사람에게 비밀번호를 공개 할 수 있습니다. 반면은 -p
표준 입력으로 입력 암호를 묻습니다.
mysql의 기본 설정이 "autocommit = true"이기 때문입니다. 파일을 가져 오기 전에 먼저 설정 한 다음 가져 오기 오기가 gem처럼 작동하는지 확인해야합니다.
먼저 MySQL을 순서 다.
mysql -u 루트 -p
그런 다음 다음을 수행하면됩니다.
mysql>use your_db
mysql>SET autocommit=0 ; source the_sql_file.sql ; COMMIT ;
@MartinNuc에 +1하면 mysql
배치 모드 에서 클라이언트를 수 있으며 "OK"줄의 긴 스트림을 볼 수 없습니다.
주어진 SQL 파일을 가져 오는 데 따르는 시간은 많은 항목에 따라 다. 서버의 성능과 동시에 실행되는 다른 서버의 명령문의 유형, 서버의 성능 및 실행되는 다른 서버.
@MartinNuc은 4 ~ 5 분 안에 4GB의 SQL을로드 할 수 있습니다 0.5GB의 SQL 파일을 실행 더 작은 서버에서 45 분이 소요되는 사실.
서버에서 SQL 확장을 실행하는 데 시간을 추측 할 수 없습니다.
다시 귀하의 의견,
@MartinNuc가 말합니다. mysql 클라이언트가 모든 명령문을 인쇄 선택할 수 있습니다. 또는 두 번째 세션을 실행 mysql> SHOW PROCESSLIST
중인 항목을 볼 수 있습니다. 그러나 아마도 "완료율"수치 나 나머지 설명을 완료하는 데 예상 시간에 더 관심이있을 것입니다.
죄송합니다. 그런 기능이 없습니다. mysql 클라이언트는 나중에 명령문을 실행하는 데 시간이나 심지어 많은지 알지 못합니다. 따라서 존재하는 완료하는 데 제공 시간에 대한 의미있는 추정치를 제공합니다.
중앙 SQL 복원에 사용하는 솔루션은 mysqldumpsplitter 펼쳐집니다. 내 sql.gz를 개별 테이블로 분할했습니다. 그런 다음 mysql 워크 벤치와 같은 것을로드하고 원하는 스키마에 대한 복원을 처리합니다.
다음은 펼쳐 https://github.com/kedarvj/mysqldumpsplitter입니다.
그리고 이것은 더 큰 SQL 복원에 대해 작동하며, 내가 작업하는 한 사이트의 평균은 2.5GB sql.gz 파일, 압축되지 않은 20GB 및 완전히 복원되면 ~ 100Gb입니다.
명령 줄을 대용량 SQL 파일을 MySql로 가져 오기
- 첫 번째 다운로드 파일.
- 집에 파일을 넣습니다.
- 터미널 (CMD)에서 다음 명령을 사용하십시오.
- 구문 : mysql -u username -p databsename <file.sql
예 : mysql -u root -p aanew <aanew.sql
참고 URL : https://stackoverflow.com/questions/19483087/importing-large-sql-file-to-mysql-via-command-line
'ProgramingTip' 카테고리의 다른 글
mysql에 금액 저장 (0) | 2020.11.29 |
---|---|
CSS : 이미지 링크, 마우스 오버시 변경 (0) | 2020.11.29 |
will_paginate 정의되지 않은 메소드`total_pages ' (0) | 2020.11.29 |
ASCII 문자 정규식 (0) | 2020.11.29 |
Cygwin에서 Windows Python 사용 (0) | 2020.11.29 |