MongoBD 日常操作小節
一、開啟Mongodb 密碼驗證功能
預設安裝完mongodb是不用密碼驗證的,直接輸入mongo就可以登入資料庫進行相關操作,設定引數auth=true啟動mongodb密碼驗證功能,開啟改功能步驟如下:
①、修改引數檔案auth=false,並重啟mongodb
②、登入資料庫,建立管理員使用者(預設是沒有管理員賬戶的)
> user admin
> db.createUser(
{
user: "admin",
pwd: "admin",
roles: [ { role: "root", db: "admin" } ]
}
)
db.createUser(
③、修改引數檔案auth=true,重啟資料庫,使用admin使用者登入資料庫
{
user: "root",
pwd: "mongotest",
roles: [ { role: "root", db: "admin" } ]
}
)
mongo 127.0.0.1:27017/admin(database) -u admin(username) -p admin(password)
或者
[root@mongodb ~] # mongo
> use admin
> db.auth("admin","admin");
二、使用者許可權管理
create
{ user: "<name>",pwd: "<cleartext password>",
customData: { <any information> },
roles: [
{ role: "<role>", db: "<database>" } | "<role>",
...
]
}
user文件欄位介紹:
user欄位,為新使用者的名字;
pwd欄位,使用者的密碼;
cusomData欄位,為任意內容,例如可以為使用者全名介紹;
roles欄位,指定使用者的角色,可以用一個空陣列給新使用者設定空角色;
在roles欄位,可以指定內建角色和使用者定義的角色。
1. 資料庫使用者角色:read、readWrite;
2. 資料庫管理角色:dbAdmin、dbOwner、userAdmin;
3. 叢集管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢復角色:backup、restore;
5. 所有資料庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級使用者角色:root
// 這裡還有幾個角色間接或直接提供了系統超級使用者的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 內部角色:__system
db.auth("testuser","testuser");
user欄位,為新使用者的名字;
pwd欄位,使用者的密碼;
cusomData欄位,為任意內容,例如可以為使用者全名介紹;
roles欄位,指定使用者的角色,可以用一個空陣列給新使用者設定空角色;
在roles欄位,可以指定內建角色和使用者定義的角色。
2. 資料庫管理角色:dbAdmin、dbOwner、userAdmin;
3. 叢集管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢復角色:backup、restore;
5. 所有資料庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級使用者角色:root
// 這裡還有幾個角色間接或直接提供了系統超級使用者的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 內部角色:__system
示例:
db.createUser(
{
user: "admin1",
pwd: "admin1",
roles: [
{ role: "read", db: "mydb" }
]
}
)
db.createUser(
{
user: "testuser",
pwd: "testuser",
roles: [
{ role: "dbAdmin", db: "admin" },
{ role: "backup", db: "admin" }
]
}
)
查詢使用者資訊和刪除使用者
db.system.users.find();
db.system.users.remove({user:"pmsadapter"});
關閉mongo
mongod --shutdown --dbpath /database/mongodb/data/
> use admin; switched to db admin > db.shutdownServer(); |
三、匯入匯出小結
匯出dbname下collectionname 表到 /home/area.dat
mongoexport -d dbname -c collectionname -o /home/area.dat
匯入
mongoimport -d dbname -c collectionname /home/area.dat
mongoimport -d dbname -c collectionname /home/area.dat
匯出iflashbuy_log資料庫/home/my_mongodb_dump
mongodump -d iflashbuy_log -o /home/my_mongodb_dump
恢復資料庫
mongorestore -d my_mongodb /home/my_mongodb_dump
db.createUser( { "user" : "test",
"pwd": "test",
"customData" : { test:test },
"roles" : [ { role: "clusterAdmin", db: "admin" },
{ role: "readAnyDatabase", db: "admin" },
"readWrite"
] }
"customData" : { test:test },
"roles" : [ { role: "clusterAdmin", db: "admin" },
{ role: "readAnyDatabase", db: "admin" },
"readWrite"
] }
db.createUser(
{
user: "admin",
pwd: "admin",
roles: [ { role: "userAdminAnyDatabase", db: "admin" },
{ role: "userAdminAnyDatabase", db: "admin" } ]
}
)
db.createUser(
{
user: "admin1",
pwd: "admin1",
roles: [ { role: "root", db: "mydb" } ]
}
)
db.createUser(
{
user: "admin11",
pwd: "admin11",
roles: [ { role: "root", db: "mydb" } ]
}
)
db.createUser(
{
user: "admin2",
pwd: "admin2",
roles: [ { role: "dbAdmin", db: "mydb" } ]
}
)
db.createUser(
{
user: "admin3",
pwd: "admin3",
roles: [ { role: "readWriteAnyDatabase", db: "mydb" } ]
}
)
db.createUser(
{
user: "admin3",
pwd: "admin3",
roles: [ { role: "dbAdminAnyDatabase", db: "mydb" } ]
}
)
db.createUser(
{
user: "admin3",
pwd: "admin3",
roles: [ { role: "dbAdminAnyDatabase", db: "mydb" } ]
}
)
db.createUser(
{
user: "user001",
pwd: "user001",
roles: [ { role: "readWrite", db: "mydb" } ]
}
)
>show dbs
local 0.078125GB
ttlsa_com 0.203125GB
>db
ttlsa_com
>db.ttlsa_com.getDB()
ttlsa_com
>show collections
system.indexes
>db.dropDatabase()
{"dropped":"ttlsa_com","ok":1}
>db
ttlsa_com
>show dbs
匯出查詢結果到excel
mongoexport -d pmsadapterlog-ly -c pms_log_resv -q "{'msgType':'crsnewresv'}" -f crsnum,createTime,usedTime,updateTime --csv -o pms_log_resv20160127.csv
在 從server 上檢視主從複製的狀態
> db.printReplicationInfo()
this is a slave, printing slave replication info.
source: 10.48.255.244:27017
syncedTo: Thu Aug 16 2012 18:33:27 GMT+0000 (UTC)
= 18 secs ago (0.01hrs)
>
> db.printSlaveReplicationInfo()
source: 10.48.255.244:27017
syncedTo: Thu Aug 16 2012 18:34:37 GMT+0000 (UTC)
= 20 secs ago (0.01hrs)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29320885/viewspace-2123012/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 日常操作
- Git 日常操作Git
- Mac 日常操作Mac
- 日常電腦操作小技能篇(生活無處不精彩)
- Vagrant (二) - 日常操作
- Linux 日常操作命令集合 -1程式操作Linux
- 全網最全,講解最細的ps日常操作小技巧,Photoshop教程
- git 日常使用小冊Git
- mysql資料庫操作之------查的各種小細節MySql資料庫
- 字串*-小鑫の日常系列故事(七)——小紙條字串
- 重新振作第9天----日常小記
- 重新振作第8天----日常小記
- 重新振作第10天----日常小記
- 小細節
- js原生節點操作JS
- Zookeeper--節點操作
- 日常小 Bug 之資料寫到哪去了
- 日常生活健康小貼士|五一環保
- JavaScript學習之DOM(節點、節點層級、節點操作)JavaScript
- Vue、Javascript小細節VueJavaScript
- 小程式操作dom
- 記錄一些日常的小問題(前端)前端
- 「日常訓練」「小專題·USACO」 Wormholes(1-4)Worm
- Android日常學習:Android Hook技術小實踐AndroidHook
- 盤點與我們日常相關的小程式
- Qt QTreeView 常見節點操作QTView
- jQuery操作dom節點empty()方法jQuery
- 第九小節 函式函式
- Java位運算小節Java
- 「日常訓練」「小專題·USACO」 Broken Necklace(1-2)
- 「日常訓練」「小專題·USACO」 Barn Repair(1-4)AI
- 「日常訓練」「小專題·圖論」 Frogger (1-1)圖論
- redis cluster節點/新增刪除操作Redis
- MongoDB單節點部署與基本操作MongoDB
- JS中的DOM— —節點以及操作JS
- 膝上型電腦日常維護的六個常識,筆記本日常維護小竅門筆記
- 「日常訓練」「小專題·USACO」 Ski Course Design (1-4)
- 「日常訓練」「小專題·圖論」 Cow Contest (1-3)圖論
- 「日常訓練」「小專題·圖論」Domino Effect(1-5)圖論