[python] 파이썬(PyMongo)을 사용한 MongoDB 데이터 백업 및 복원

이 블로그 포스트에서는 파이썬으로 MongoDB 데이터를 백업하고 복원하는 방법에 대해 알아보겠습니다. 파이썬에서는 PyMongo 라이브러리를 사용하여 MongoDB와 상호 작용할 수 있습니다. 이를 활용하여 데이터의 백업과 복원을 간편하게 수행할 수 있습니다.

목차

MongoDB 데이터 백업

MongoDB 데이터를 백업하기 위해서는 다음과 같은 단계를 따를 수 있습니다.

  1. PyMongo 라이브러리를 설치합니다. 다음 명령을 사용하여 설치할 수 있습니다.
pip install pymongo
  1. MongoDB에 연결합니다. PyMongo를 사용하여 MongoDB와 연결하는 코드는 다음과 같습니다.
from pymongo import MongoClient

# MongoDB에 연결
client = MongoClient("mongodb://localhost:27017")
  1. 백업할 데이터를 선택합니다. 예를 들어, mydb 데이터베이스의 mycollection 콜렉션을 백업하려면 다음처럼 선택할 수 있습니다.
db = client["mydb"]
collection = db["mycollection"]
  1. 데이터를 백업합니다. collection.find() 메서드를 사용하여 모든 데이터를 가져온 후, 필요한 작업을 수행할 수 있습니다. 이 예제에서는 데이터를 JSON 파일로 저장하는 방법을 보여줍니다.
import json

# 모든 데이터 가져오기
data = collection.find()

# JSON 파일로 저장하기
with open("backup.json", "w") as file:
    for document in data:
        json.dump(document, file)
        file.write("\n")

이제 backup.json 파일에 MongoDB의 데이터가 백업됩니다.

MongoDB 데이터 복원

백업된 MongoDB 데이터를 복원하는 방법에 대해 알아보겠습니다.

  1. 복원할 데이터를 선택합니다. 예를 들어, mydb 데이터베이스의 mycollection 콜렉션에 데이터를 복원하려면 다음처럼 선택할 수 있습니다.
db = client["mydb"]
collection = db["mycollection"]
  1. 백업된 데이터를 가져옵니다. 이 예제에서는 backup.json 파일에서 데이터를 가져옵니다.
import json

# 백업 데이터 읽어오기
with open("backup.json", "r") as file:
    data = json.load(file)
  1. 데이터를 복원합니다. collection.insert_one() 또는 collection.insert_many() 메서드를 사용하여 데이터를 복원할 수 있습니다.
# 데이터 복원
collection.insert_many(data)

이제 백업된 데이터가 MongoDB에 복원되었습니다.

이렇게 파이썬(PyMongo)을 사용하여 MongoDB 데이터를 백업하고 복원할 수 있습니다. 이를 활용하여 데이터의 안전한 보관과 복구를 수행할 수 있습니다.

참고 자료