mongoDB第六講

來源:互聯網
上載者:User

•mongoDB啟動配置詳解

1.啟動項 mongod --help

1.1利用config設定檔來啟動資料庫改變連接埠為8888

       mongodb.conf檔案

      dbpath = D:\app\mongodata

      port = 8888

      開機檔案

      mongod.exe --config mongodb.conf

      shell檔案

      mongo 127.0.0.1:8888

2.停止mongoDB服務

    1.1ctrl+c 按鍵組合可以關閉資料庫

    1.2admin資料庫命令關閉資料

            use admin

            db.shutdownServer()

•匯出,匯入,運行時備份 一匯出、匯入

1.匯出資料(中斷其他動作)

        開啟CMD

        利用mongoexport

             -d 指明使用的庫

             -c 指明要匯出的表

             -o 指明要匯出的檔案名稱

             -csv 制定匯出的csv格式

             -q 過濾匯出

             --type <json|csv|tsv>

     1.1把資料好foobar中的persons匯出

        mongoexport -d foobar -c persons -oD:/persons.json

     1.2匯出其他主機資料庫的文檔

        mongoexport --host 192.168.0.16 --port 37017

2.匯入資料(中斷其他動作)

        2.1到入persons檔案

        mongoimport --db foobar --collection persons --file d:/persons.json

二備份

1.運行時備份mongodump

  1.1匯出127.0.0.1服務下的27017下的foobar資料庫

      mongodump --host 127.0.0.1:27017 -d foobar -o d:/foobar

2.運行時恢複mongorestore

       2.1刪除原本的資料庫用剛才匯出的資料庫恢複

       db.dropDatabase()

      mongorestore --host 127.0.0.1:27017 -d foobar -directoryperdb d:/foobar/foobar

3.懶人備份

       mongoDB是檔案資料庫這其實就可以用拷貝檔案的方式進行備份

•Fsync鎖,資料修複

1.Fsync的使用

    先來看看mongoDB的簡單結構

2.上鎖和解鎖

        上鎖

            db.runCommand({fsync:1,lock:1});

        解鎖

             db.currentOp()

3.資料修複

         當停電等無法復原轉災難來臨的時候,由於mongodb的儲存結構導致

         會產生垃圾資料,在資料恢複以後這垃圾資料依然存在,這是資料庫

         提供一個自我修複的能力.使用起來很簡單

         db.repairDatabase()

 

•使用者管理,安全認證http://www.cnblogs.com/dennisit/archive/2013/02/22/2922906.html

1.添加一個使用者

        1.1為admin添加uspcat使用者和foobar資料庫的zhang使用者

         use admin

        db.addUser(“uspcat”,”123”);

         use foobar

        db.addUser(“zhang”,”123”);

2.啟用使用者

        db.auth(“名稱”,”密碼”)

3.安全檢查 --auth

    mogod --dbpath d:\app\mongodata --auth

    mogo localhost:27017

    use foobar

    db.persons.find()   //會報錯

    非foobar的使用者是不能操作資料庫的,啟用自己的使用者才能訪問

    db.auth("zhang","123")

    非admin資料庫的使用者不能使用資料庫命令

    db.auth("zhang","123")

    show dbs   //會報錯

    admin資料庫中的資料經過認證為管理使用者

4.使用者刪除操作

      db.system.users.remove({user:"zhang"});

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.