- 不開(kāi)啟權(quán)限的時(shí)候啟動(dòng)mongoDB:
windows必須在存放MongoDB文件中的bin下運(yùn)行
# 開(kāi)啟服務(wù)器:
windows:mongod --dbpath E:\MongoDB\data\db(dbpath存儲(chǔ)路徑)
ubuntu:mongod --bind_ip 192.168.1.118 --port 27018 --dbpath ~/桌面/test1 --replSet rs0
# 開(kāi)啟客戶端
windows:mongo
- 創(chuàng)建超級(jí)管理用戶
use admin
db.createUser(
{
user:'admin',
pwd:'123',
roles:[{role:'root',db:'admin'}]
}
)
創(chuàng)建成功后退出mongodb客戶端, 然后service mongodb stop, 再開(kāi)啟安全認(rèn)證,
- 啟用安全認(rèn)證
進(jìn)入配置文件并修改sudo vi /etc/mongod.conf
啟用身份驗(yàn)證
新版本 keys and values之間要加空格, 否則解析會(huì)報(bào)錯(cuò)
security:
authorization: enabled
- 重啟啟動(dòng)mongo服務(wù):
linux:sudo service mongodb restart
windows:mongod --dbpath E:\MongoDB\data\db --port 27017 --auth
- 開(kāi)啟權(quán)限后登陸
- mongo -u username -p password --authenticationDatabase 'admin'
修改普通用戶權(quán)限或密碼
修改用戶:可以修改pwd、roles屬性
注意這里只有超級(jí)管理員才有權(quán)限修改普通用戶的密碼和管理權(quán)限
修改用戶密碼(切換到有權(quán)限操作的數(shù)據(jù)庫(kù)下)
db.updateUser(‘ljh',{pwd:'456'})
添加用戶權(quán)限(切換到有權(quán)限操作的數(shù)據(jù)庫(kù)下)
db.grantRolesToUser('username',[{role:'',db:''}])
移除用戶權(quán)限(切換到有權(quán)限操作的數(shù)據(jù)庫(kù)下)
db.revokeRolesFromUser('username',[{role:'',db:''}])
刪除用戶(方式一)(切換到有權(quán)限操作的數(shù)據(jù)庫(kù)下)
db.dropUser('username')
刪除用戶 (方式二)
use admin db.system.users.remove({user:'username'})
備份與恢復(fù)
- 如果沒(méi)有開(kāi)啟權(quán)限
備份
mongodump -h 127.0.0.1:27017 -d 數(shù)據(jù)庫(kù)名稱 -o 數(shù)據(jù)庫(kù)備份的路徑
mongodump -h 127.0.0.1:27017 -o 數(shù)據(jù)庫(kù)備份的路徑
恢復(fù)
mongorestore -h 127.0.0.1:27017 -d 數(shù)據(jù)庫(kù)名稱 -c集合名稱 --dir 數(shù)據(jù)庫(kù)備份文件路徑
mongorestore -h 127.0.0.1 -dir 數(shù)據(jù)庫(kù)備份文件路徑
- 開(kāi)啟權(quán)限
備份
mongodump -u username -p password --authenticationDatabase 'admin' -d dbname -o dbpath
恢復(fù)
mongorestore -u username -p password --authenticationDatabase 'admin' -d 數(shù)據(jù)庫(kù)名稱 --dir 數(shù)據(jù)庫(kù)備份文件路徑
- 導(dǎo)出、導(dǎo)入工具:mongoexport、導(dǎo)出工具:mongoimport
導(dǎo)出參數(shù)
d :數(shù)據(jù)庫(kù)名
c :collection名
o :輸出的文件名
-type : 輸出的格式,默認(rèn)為json
f :輸出的字段,如果-type為csv,則需要加上-f "字段名",
注:windows設(shè)置字段不加引號(hào)
導(dǎo)出json
mongoexport -d class1804 -c books -o 備份數(shù)據(jù)庫(kù)的路徑/book.json --type json
導(dǎo)出csv
mongoexport -d class1804 -c books -o 備份數(shù)據(jù)庫(kù)的路徑/books.csv --type csv -f 'by_user,likes'
- 導(dǎo)入?yún)?shù)說(shuō)明:
d:數(shù)據(jù)庫(kù)名
c:collection名
-type:導(dǎo)入的格式默認(rèn)json
f:導(dǎo)入的字段名
-headerline:如果導(dǎo)入的格式是csv,則可以使用第一行的標(biāo)題作為導(dǎo)入的字段
-file:要導(dǎo)入的文件
導(dǎo)入json
mongoimport -d class1712B -c books --file ~/桌面/dump/books --type json
導(dǎo)入csv
mongoimport -d class1712B -c info --file ~/桌面/dump/books --headerline --type c