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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Redis日常操作命令小結Redis
- MongoDB日常運維操作命令小結MongoDB運維
- 日常操作
- Mac 日常操作Mac
- Git 日常操作Git
- 日常電腦操作小技能篇(生活無處不精彩)
- Vagrant (二) - 日常操作
- DataGuard 日常操作-02
- git 日常使用小冊Git
- 全網最全,講解最細的ps日常操作小技巧,Photoshop教程
- Redis Cluster日常操作命令梳理Redis
- Linux 日常操作命令集合 -1程式操作Linux
- php5.3日常操作PHP
- mongodb 的一些日常操作MongoDB
- oracle表空間日常操作管理Oracle
- mysql資料庫操作之------查的各種小細節MySql資料庫
- oracle日常操作彙總:日誌篇Oracle
- 字串*-小鑫の日常系列故事(七)——小紙條字串
- oracle時間日常處理小結Oracle
- Docker容器學習梳理 - 日常操作總結Docker
- kvm虛擬機器日常操作命令梳理虛擬機
- Oracle with as使用小節Oracle
- js原生節點操作JS
- Zookeeper--節點操作
- 筆記: Oracle 10g中一些操作持有鎖的小節筆記Oracle 10g
- Vue、Javascript小細節VueJavaScript
- 日常小 Bug 之資料寫到哪去了
- IOS日常開發中遇到的小問題iOS
- VERITA備份日常監控及相關命令操作
- JavaScript學習之DOM(節點、節點層級、節點操作)JavaScript
- 記錄一些日常的小問題(前端)前端
- 盤點與我們日常相關的小程式
- 小鑫の日常系列故事(五)——卡片遊戲 (sdut oj)遊戲
- 小程式操作dom
- Java位運算小節Java
- 第九小節 函式函式
- oracle經驗小節2Oracle
- Linux運維筆記-日常操作命令總結(2)Linux運維筆記