2012-03-19 3 views
2

내 웹 사이트에 mysql 데이터베이스를 복원하려고하는데 데이터베이스의 모든 테이블이 개별 파일에 저장됩니다. 따라서 SSH를 통해 모든 .sql 파일을 어떻게 복원 할 수 있는지 알아 내려고 노력하고 있습니다. 100 개의 모든 테이블을 개별적으로 복원하는 대신 단일 명령 (또는 쉬운 명령)을 사용하십시오.SSH를 통해 여러 데이터베이스를 한 번에 가져 오는 방법은 무엇입니까?

답변

9
cat *.sql > data.sql 
mysql -u <username> -p < data.sql 
1

그것은 당신이 개별 파일을 만든 방법에 따라 달라집니다 - 그들은 모든 지시 사항이있는 경우 (테이블을 재 작성을 위해 즉, "드롭 존재하는 경우 ..."로 삽입 ""... 만들기 "및

cat *.sql | mysql -u xxx -pxxx dbname 

또는 두 번째 선택은보다 쉽게 ​​처리 된 파일의 순서를 제어 할 수 있습니다 그것은

#!/bin/sh 
mysql -u xxx -pxxx dbname < file001.sql 
mysql -u xxx -pxxx dbname < file002.sql 

할 수있는 스크립트를 작성 : ... "), 당신은 MySQL의로를 연결할 수 있습니다.

마지막으로,보다 편리한 방법으로 백업을 만들 수 있습니다. 데이터베이스 (또는 여러 개!)를 하나의 파일 (기본적으로 "mysqldump -u xxx -pxxx dbname> dbname")로 덤프하는 방법은 mysqldump를 확인하십시오. SQL "이지만 추가 할 수있는 유용한 플래그가 있습니다).

+1

"mysqlDUMP -u xxx -pxxx dbname> dbname.sql"이어야합니다. D – scibuff

+0

예, 실제로; 좋은 캐치 - 감사합니다, @scibuff. 그에 따라 내 대답을 수정했습니다. –

관련 문제