명령 줄에서 하나의 파일로 여러 MySQL 데이터베이스를 복원 하시겠습니까?


13

phpMyAdmin을 사용하여 모든 데이터베이스를 파일로 내보냈습니다.

불행히도 내 대상 시스템에 작동하는 phpMyAdmin이 없습니다.

한 줄 명령을 사용하여 한 번에 모든 파일을 어떻게 복원해야합니까?


1
파일을 보았습니까? 필요에 따라 데이터베이스를 작성하고 전환하기위한 명령을 포함해야합니다.
Tom Regner

예, 데이터베이스가 생성 된 후 USE database_name명령을 사용하여 선택되었습니다 .
smhnaji

그렇다면 Unni와 laurents의 답변이 정확합니다.
Tom Regner

답변:


18

모든 파일을 하나의 단일 파일로 연결하고 다음을 사용하여 가져 오기 / 복원하지 않는 이유

mysql -u username -p < dump.sql

사용하여 하나의 파일 만들기

mysqldump -u username -p --all-databases > dump.sql

OP에는 이미 단일 파일이 있으며 파일을 복원해야 더 이상 파일을 덤프 할 수 없습니다.
laurent

@laurent 네 알겠습니다. 를 사용 mysql -u username -p < dump.sql하면 여러 mysql 데이터베이스가로드됩니다.
devav2

네, 확실합니다
laurent

2
그것은 나를 위해 작동하지 않았다. 그것은 내가 databse를 선택해야한다고 말합니다
Aryeh Armon

3

많은 데이터베이스를 1 개의 파일로 백업 한 경우 create database명령문을 동일한 파일로 백업했다고 가정 합니다. 그렇지 않은 경우 파일에 적절한 위치에 create databaseand use database문만 추가하면됩니다 .

그 후, 파일을 mysql에로드하는 명령은 다음과 같습니다.

mysql -p < sqlfile.sql

-p 비밀번호를 묻는 것입니다.

-u username다른 사용자를 사용해야 할 경우 사용할 수 있습니다 .


1

SQL 파일을 복원하는 mysql 명령은 다음과 같습니다.

mysql DATABASE_NAME < SQL_FILENAME.sql

먼저 파일이 sql인지 확인하십시오. gz 파일 확장자로 끝나는 경우 command 명령을 사용하여 압축을 풀어야합니다.

gunzip SQL_FILE.sql.gz

1
-1 . 위에서 말했듯이 파일에 MULTIPLE 데이터베이스가 저장되어 있으며 모든 데이터베이스를 한 번에 복원하기를 원합니다.
smhnaji

phpmyadmin에서 각 데이터베이스를 별도로 내보내고 소스 서버에서 복원 할 수 있습니까? 또는 sed 또는 awk와 같은 Linux 스트림 편집기를 사용하여 다른 파일로 분할하십시오.
Unni

1
그는 하나의 파일에서 모든 데이터베이스를 가져올 수 있습니다
laurent
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.