mongodump は、データベースのバックアップを作成するために mongodb が提供するユーティリティです。これは、ライブ サーバー データベースのバックアップを非常に効率的に作成するために検討できる非常に便利なユーティリティです。データベースを復元するには、mongorestore コマンドを使用する必要があります。
1. mongodb データベースをバックアップする (mongodump)
MongoDB データベースをバックアップするには、さまざまな方法があります。 mongodump コマンドを使用して、すべてのデータベース、単一のコレクション、または単一のデータベースをバックアップします。
単一データベースのバックアップ
単一データベース (mydb という名前) のみをバックアップするには、このコマンドを使用します。バックアップは /backup/db/ ディレクトリに作成されます。
$ mongodump --db mydb --out / backup / db /
-db - バックアップするデータベースの名前
-out - データベースのバックアップの場所。これにより、データベースの名前のフォルダーが作成されます。
以下に示すように、リモート データベース接続バックアップのホスト、ポート、ユーザー名、およびパスワードを指定できます。
$ mongodump --host 10.0.1.7 --port 27017 --username admin --password somepassword --db mydb --out / backup / db /
すべてのデータベースをバックアップする
すべてのデータベースをバックアップするには、次のコマンドを実行するだけです。ここで、/data/db/ は mongodb データ ディレクトリの場所であり、/backup/db はバックアップ ディレクトリの場所です。
$ mongodump --out / backup / db /
リモート データベースのホストとポートを指定できます。
単一コレクションのバックアップ
このコマンドは、データベースから単一コレクションをバックアップします。バックアップ ファイルは dump/mydb/ ディレクトリに作成されます。
$ mongodump --collection mycollection --db mydb --out / backup / db /
2. mongorestore を使用して MongoDB データベースを復元する
mongorestore は、mongodb データベースのバックアップを復元するために使用されるコマンド ライン ツールです。ここで、/data/db/ は mongodb データ ディレクトリの場所であり、/backup/db はバックアップ ディレクトリの場所です。
$ mongorestore --db mydb --drop / backup / db / mydb
-drop - データベースがすでに存在する場合はデータベースを削除します。
バックアップ ファイルをリモート サーバーに移動し、そこで同じコマンドを実行してバックアップを復元するだけです。
3. MongoDB バックアップ シェル スクリプト
次のスクリプトは、データベースを定期的にバックアップするためにスケジューラーで簡単にスケジュールできます。次のファイルを作成します
$ vi /backup/mongo-backup.sh
次の内容をファイルに追加します。データベースのホスト名、データベース名、ユーザー名、およびパスワードを適宜更新します。
#!/bin/sh TODAY=`date +%d%b%Y` BACKUP_DIR=/backup/db mkdir -p ${BACKUP_DIR}/${TODAY} mongodump -h <DATABASE_HOST> -d <DATABASE_NAME> -u <USERNAME> -p <PASSWRD> --out ${BACKUP_DIR}/${TODAY}/
次に、毎日実行するように crontab で設定します。
0 2 * * * /backup/mongo-backup.sh
この記事はここで終了しています。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの MySQL ビデオ チュートリアル 列に注目してください。
以上がMongoDB データベースをバックアップ、復元、移行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。