mongodump & mongorestore

2022. 10. 12. 17:36웹개발

특정 서버 내에 있는 데이터를 복사해서 따로 보관하고 싶은 경우(copy) mongodump를 사용한다.

그리고 따로 보관해둔 데이터를 원하는 서버에 붙이고 싶은 경우(paste) mongorestore를 사용한다.

- 참고로 mongoimport와 mongoexport도 비슷한 용도로 있는데 데이터 보존능력이 떨어지고 속도가 느려 비추.

 

 

os마다 다른지는 모르겠지만 지금 내가 쓰는 window에선 두 용어가 모두 있었다. 

!! 리눅스에선 싱글쿼테이션을 아이디나 비밀번호 등에 넣고 윈도우에서는 퀏츠 생략

// mongodump
// mongodump --host 아이피 --port 27017 -u 아이디명 -p 비밀번호 --authenticationDatabase 데이터베이스명 --db 디비명 --out "저장할경로"
mongodump --host localhost --port 27017 -u userId -p password --authenticationDatabase admin --db dbName --out "C:\Users\folder\path\where\you\wantto\putIN"

// mongostore
// mongorestore -h localhost:27017 -u 아이디명 -p 비밀번호 --authenticationDatabase 데이터베이스명 --db 디비명 "꺼낼폴더경로"
mongorestore -h localhost:27017 -u id -p password --authenticationDatabase admin --db dbName "C:\Users\folder\path\where\you\wantto\putOUT"

 

 

여기서 하나라도 빠지면 에러 발생. 또 에러가 다양하게 나타난다는게 열받는다.

// mongodump -u 아이디명 -p 비밀번호 -h 27017
// 접속주소를 제대로 지정하지 않으면 뜨는 에러
# Failed: can't create session: could not connect to server: server selection error: server selection timeout, current topology: { Type: Single, Servers: [{ Addr: 27017:27017, Type: Unknown, State: Connected, Average RTT: 0, Last error: connection() : dial tcp: lookup 27017: no such host }, ] }

// mongodump -u 아이디명 -p 비밀번호 -h localhost:27017
// 저장경로를 지정하지 않으면 임의로 지정하는데 접근이 불가능한 C:여서 뜨는 에러
# Failed: error dumping metadata: error creating directory for metadata file dump\dbname: mkdir dump: Access is denied.

// mongodump -u 아이디명 -p 비밀번호 -h localhost --port 27017 --authenticationDatabase admin --db dbname "C:\Users\###\###\###"
// 경로가 앞으로 나올거라는 --out을 적지 않아서 뜨는 에러
# positional arguments not allowed: [C:\Users\###\###\###]





// 파일경로 지정하지 않으면 뜨는 에러
// mongorestore -h localhost:27017 -u id -p password
# Failed: mongorestore target 'dump' invalid: CreateFile dump: The system cannot find the file specified.

// 중복되는 컬렉션이 있는 경우 뜨는 에러
// mongorestore -h localhost:27017 -u id -p password --authenticationDatabase databasename --db dbname "C:\Users\Documents\Newark_mongodbTest\test"
# continuing through error: E11000 duplicate key error collection

 

끝.

728x90