一括バックアップ・リストア インポート・エクスポート MongoDBデータ方式
前リンクポータル Mongoデータベースのインストールと設定
ナビキャット
データベース接続を確立する
データベースの新規作成
JavaScriptファイルのデータベースへの取り込み
mongodbのデータのバックアップとリストアは大きく分けて2種類あり、ライブラリにはmongodumpとmongore、ライブラリ内のテーブルにはmongoexportとmongoimportがあります。
mongodump バックアップ データベース
1. 一般的なコマンドのグリッド
mongodump -h IP --port port -u username -p password -d database -o path to file
user whoがいない場合は、-uと-pを削除してください。
ローカルデータベースをエクスポートする場合は、-h を削除してください。
デフォルトのポートであれば、-portを削除してください。
すべてのデータベースをエクスポートする場合は、-dを削除してください。
2. 全データベースのエクスポート
[root@localhost mongodb]$ mongodump -h 127.0.0.1 -o /usr/local/Cellar/mongodb
connected to: 127.0.0.1
Tue Dec 3 06:15:55.448 all dbs
Tue Dec 3 06:15:55.449 DATABASE: test to /usr/local/Cellar/mongodb/test
Tue Dec 3 06:15:55.449 test.system.indexes to /home/zhangy/mongodb/test/system.indexes.bson
Tue Dec 3 06:15:55.450 1 objects
Tue Dec 3 06:15:55.450 test.posts to /usr/local/Cellar/mongodb/test/posts.bson
Tue Dec 3 06:15:55.480 0 objects
3. 指定したデータベースのエクスポート
[root@localhost mongodb]$ mongodump -h 192.168.1.108 -d tank -o /home/zhangy/mongodb/
connected to: 192.168.1.108
Tue Dec 3 06:11:41.618 DATABASE: tank to /usr/local/Cellar/mongodb/tank
Tue Dec 3 06:11:41.623 tank.system.indexes to /usr/local/Cellar/mongodb/tank/system.indexes.bson
Tue Dec 3 06:11:41.623 2 objects
Tue Dec 3 06:11:41.623 tank.contact to /usr/local/Cellar/mongodb/tank/contact.bson
Tue Dec 3 06:11:41.669 2 objects
Tue Dec 3 06:11:41.670 Metadata for tank.contact to /usr/local/Cellar/mongodb/tank/contact.metadata.json
Tue Dec 3 06:11:41.670 tank.users to /usr/local/Cellar/mongodb/tank/users.bson
Tue Dec 3 06:11:41.685 2 objects
Tue Dec 3 06:11:41.685 Metadata for tank.users to /usr/local/Cellar/mongodb/tank/users.metadata.json
mongorestore データベース復元
1. 一般的なコマンドの書式
mongorestore -h IP --port port -u username -p password -d database --drop path to file
dropは、まずすべてのレコードを削除してからリストアすることを意味します。
2. 全てのデータベースをmongodbにリストアする。
[root@localhost mongodb]$ mongorestore /usr/local/Cellar/mongodb/ # The path here is the backup path for all the libraries
3. 指定したデータベースのリストア
[root@localhost mongodb]$ mongorestore /usr/local/Cellar/mongodb/ # The path here is the backup path for all libraries
この2つのコマンドは、jsonおよびbsonファイル形式でのデータベースのバックアップとリストアを可能にします。テーブルへの書き込みによるバックアップやリストアを参照することはできません。
mongoexport はテーブル、またはテーブル内の一部のフィールドをエクスポートします。
1. 一般的なコマンドの書式
mongoexport -h IP --port port -u username -p password -d database -c table name -f fields -q conditional export --csv -o filename
を中心に、上記のパラメータをよく理解しています。
-f フィールドをフォントサイズで分割してエクスポート、-f name,email,age フィールドを名前、メール、年齢でエクスポート
-q はクエリでエクスポートでき、-q '{ "uid" : "100" }' は uid が 100 のデータをエクスポートします。
-ほとんどのリレーショナルデータベースはcsvをサポートしているので、これはより便利です。
2. テーブル全体のエクスポート
[root@localhost mongodb]$ mongoexport -d tank -c users -o /usr/local/Cellar/mongodb/tank/users.dat
connected to: 127.0.0.1
exported 4 records
3. テーブルからいくつかのフィールドをエクスポートする
[root@localhost mongodb]$ mongoexport -d tank -c users --csv -f uid,name,sex -o tank/users.csv
connected to: 127.0.0.1
exported 4 records
4. 条件に応じてデータをあえて
[root@localhost mongodb]$ mongoexport -d tank -c users -q '{uid:{$gt:1}}' -o tank/users.json
connected to: 127.0.0.1
exported 3 records
mongoimport はテーブル、またはテーブル内のフィールドの一部をインポートします。
1. 一般的なコマンドの形式
1.1. エクスポートされた非svファイルのテーブル全体の復元
mongoimport -h IP --port port -u username -p password -d database -c table name --upsert --drop filename
他のパラメータは上記のコマンドに記載されていますが、--upsert に注目すると、既存のデータを挿入または更新します。
1.2. 一部のフィールドについてエクスポートファイルを復元する
mongoimport -h IP --port port -u username -p password -d database -c table name --upsertFields fields --drop filename
-のようなルートアップサートを行います。
1.3. エクスポートしたcsvファイルをリストアする
mongoimport -h IP --port port -u username -p password -d database -c table name --type type --headerline --upsert --drop filename
上記の3つのケースには、他にも順列があります。
2. エクスポートしたテーブルデータを復元する
[root@localhost mongodb]$ mongoimport -d tank -c users --upsert tank/users.dat
connected to: 127.0.0.1
Tue Dec 3 08:26:52.852 imported 4 objects
3. 一部フィールドのテーブルデータインポート
[root@localhost mongodb]$ mongoimport -d tank -c users --upsertFields uid,name,sex tank/users.dat
connected to: 127.0.0.1
Tue Dec 3 08:31:15.179 imported 4 objects
4. csvファイルの復元
[root@localhost mongodb]$ mongoimport -d tank -c users --type csv --headerline --file tank/users.csv
connected to: 127.0.0.1
Tue Dec 3 08:37:21.961 imported 4 objects
参考記事:https://www.jianshu.com/p/667fd4fd6ff7
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン