MySQL의 명령 행을 사용하여 SQL 파일을 가져 오는 방법은 무엇입니까?


질문

 

PhpMyAdmin에서 내보내기가있는 .sql 파일이 있습니다.명령 줄을 사용하여 다른 서버로 가져 오려고합니다.

Windows Server 2008 R2 설치가 있습니다.C 드라이브에 .sql 파일을 놓았고이 명령을 시도했습니다.

database_name < file.sql

그것은 작동하지 않습니다.구문 오류가 발생합니다.

  • How can I import this file without a problem?
  • Do I need to create a database first?

답변

 

노력하다:

mysql -u username -p database_name < file.sql

MySQL 옵션을 확인하십시오.

주 1 : SQL 파일 file.sql의 전체 경로를 사용하는 것이 좋습니다.

참고 2 : -r 및 - riggers를 사용하여 원본 데이터베이스의 루틴과 트리거를 유지하십시오.기본적으로 복사되지 않습니다.

참고 3 MySQL에서 이미 존재하지 않는 경우 (빈) 데이터베이스를 만들어야 할 수 있으며 내 보낸 SQL에는 할 수 있기 전에 데이터베이스 만들기 (-no-create-db 또는 -n 옵션으로 내 보낸)를 포함하지 않아야합니다.가져 오기.



답변

mysqldump의 공통적 인 사용은 전체 데이터베이스의 백업을위한 것입니다.

mysqldump db_name > backup-file.sql

다음과 같이 덤프 파일을 서버에 다시로드 할 수 있습니다.

유닉스

mysql db_name < backup-file.sql

Windows 명령 프롬프트에서 동일합니다.

mysql -p -u [user] [database] < backup-file.sql

Powershell.

cmd.exe /c "mysql -u root -p db_name < backup-file.sql"

MySQL 명령 행

mysql> use db_name;
mysql> source backup-file.sql;


답변

거대한 파일을 가져 오는 데 걸리는 시간과 관련하여 : 가장 중요한 것은 mysql의 기본 설정이 autocommit = true이기 때문에 더 많은 시간이 걸립니다.파일을 가져 오기 전에 해제 한 다음 가져 오기가 보석처럼 작동하는 방법을 확인해야합니다.

당신은 다음 일을해야합니다 :

mysql> use db_name;

mysql> SET autocommit=0 ; source the_sql_file.sql ; COMMIT ;


답변

위의 문제에 대한 모든 답변 중에는 이것이 가장 좋은 것입니다.

 mysql> use db_name;
 mysql> source file_name.sql;


답변

스키마로 가져 오는 가장 쉬운 방법 :

MySQL에 로그인하고 아래의 문제를 언급합니다.

mysql> use your_db_name;

mysql> source /opt/file.sql;


답변

데이터베이스를 가져 오려면 다음 명령을 사용하십시오.

mysql> create new_database;
mysql> use new_database;
mysql> source (Here you need to import the path of the SQL file);

E.g.:
mysql> source E:/test/dump.sql;

e : \ test \ dump.sql 대신 e : /test/dump.sql에서 e : /test/dump.sql에서도 앞으로 슬래시 (/)를 사용해야합니다.

또는 이중 백 슬래시 (\\)가 탈출, 즉 E : \\ test \\ dump.sql

출처:https://stackoverflow.com/questions/17666249/how-do-i-import-an-sql-file-using-the-command-line-in-mysql