MongoDB運用次元の一般的な操作


MongoDB運行メンテナンスの常用操作分析方法:1.Linuxサーバの平均負荷、CPU使用率、IO、メモリ、swap、ネットワークトラフィックなどをtop、free、iostat、iftopなどのツールで確認し、まず圧力源に位置決めします.
2.mongostat、mongotop等によりMongoDB読み書き圧力を分析する.Page Faults、Connections、Queuesなどの性能指標を観察します.
3.ログにデフォルトで100 msを超える要求を記録し、Overflowクエリーをフィルタし、Mtoolsを使用してMongoDBログファイルの遅いクエリー文を追跡分析します.文の問題がある場合は、ログからパフォーマンスの問題が発生した時点のソース文にナビゲートします.
 
一般的な操作:1.サービスの再起動
#service mongod restart

  2. トレース・ログ分析クエリー
$tail -f /var/log/mongodb/mongod.log

   3. 現在の読み書きステータスの分析
$mongostat -uxucy -p

  4. データベースのステータスの表示
>db.serverStatus()

   5. データベース接続数の表示
>db.serverStatus().connections

   6. 複製セットのステータスの表示
>rs.status()

 7. 手動降格インスタンス
>rs.stepDown(30)

8.現在アクティブなクエリーの表示
>db.currentOp();

   9. 実行中の操作を殺す
>db.killOp("shard3:466404288");

   10. クエリー文の実行計画の分析
>db.Product.find({"_id": 10086}).explain().pretty();

 11. バックグラウンドにインデックスを作成
>db.Product.ensureIndex({ "Category": 1, "Status": 1}, { background: 1 });

 12. データのエクスポート
$ mongoexport -u xucy -p --authenticationDatabase admin -d DBName -c Product -q '{"AddDate":{"$gte":new Date(1445558400000),"$lte":new Date(1445731200000)}}' -f "_id,AddDate,Status" -o Product_20151026.json

  13. データのインポート
$mongoimport -h 192.168.1.101 -u xucy -p -d DBName --authenticationDatabase admin -c datacontent datacontent_bak.json

  14. データベース/テーブルのバックアップ
$ mongodump --authenticationDatabase admin -uxucy -p --db DBName -o /disk1/mongobackup/DBName_fullbackup_20150917

   15. データベース/テーブルのリカバリ
$ mongorestore --authenticationDatabase admin -uxucy -p --db DBName --drop Temp_20150909/DBName/

   16. データベースの認可
>use dbname    
>db.createUser(    
    {    
      user: "peter",    
      pwd: "xxxxxxxx",    
      roles: [    
         { role: "readWrite", db: "dbname" }    
      ]    
    }    
)