標籤:output man cal down any gdb 角色 pat 管理軟體
加固mongodb建議:修改資料庫預設連接埠,添加資料庫存取權限:
- 啟動資料庫(裸奔):C:\mongodb\bin>mongod --dbpath C:\MongoDB\data(同時用--dbpath指定資料存放地點為“db”檔案夾。)
- 資料庫管理:mongo.exe
- 新版的MongoDB已經不支援addUser方法了,改成createUser了。
啟動資料庫的注意事項:
- 指定連接埠啟動資料庫(不需要認證):E:\mongodb\bin>mongod --dbpath E:\MongoDB\data --port=27017
- 指定連接埠啟動資料庫(需要認證):E:\mongodb\bin>mongod --auth --dbpath E:\MongoDB\data --port=27017
登入資料庫:(name:root;pwd:root)
本地登入:
- 指定連接埠登入資料庫:C:\mongodb\bin>mongo --port=27017
- 使用者名稱密碼登入:C:\mongodb\bin>mongo -u root -p root --port=27017
- 登陸到db1資料庫:C:\mongodb\bin>mongo db1 -u root -p root --port=27017
遠程登入:
- 串連遠端資料庫:E:\mongodb\bin>mongo ip:27017/db -u root -p root
一些命令:
- show dbs (或者使用show databases 查看當前資料庫情況,預設在test下)
- use test 如果test不存在則建立test資料庫,show dbs查看不到,需要插入資料
- db.test.insert({"aa":"11"})
- db 查看當前串連在哪個資料庫(db.test2.insert()會在當前資料庫下建立test2資料表並插入資料)
- db.test.find() 查看當前資料庫的test資料表資料
建立一個使用者名稱和密碼為root的管理員(建立在當前db下)
roles角色,指定角色後就有相應許可權,一般在admin裡定義角色在其他地方用
- db.createUser({ user: "root",pwd: "root",customData:{name:"root"},roles:[{ role: "userAdminAnyDatabase",db: "admin" }]})
- db.createUser({ user: "root4",pwd: "root",customData:{name:"root"},roles:[]})
簡版:
- db.createUser({ user: "root5",pwd: "root",customData:{},roles:[]})
建立完後登陸
1.直接命令登入;
2.mongo尾碼加使用者名稱密碼登入;
3.mongo遠程登入;
4.robomongo可視化管理軟體登入。
修改使用者密碼
- use admin
- db.changeUserPassword("username", "xxx")
查看使用者資訊
- db.runCommand({usersInfo:"userName"})
修改密碼和使用者資訊
- db.runCommand( { updateUser:"username", pwd:"xxx", customData:{title:"xxx"} })
給資料庫添加存取權限:(auth)
解決步驟:
1)不帶--auth參數啟動資料庫,所以不需要帳號即可連上MongoDB。
2)建立一個角色,比如叫 sysadmin,需要先切換到admin庫進行如下操作:
> use admin
switched to db admin
> db.createRole({role:‘syadmin‘,roles:[],
privileges:[
{resource:{anyResource:true},actions:[‘anyAction‘]}
]})
3)然後,建立一個使用者,使用這個角色,注意,這個角色的db是admin,操作如下:
> use woplus
switched to db woplus
> db.createUser({
user:‘root‘,
pwd: ‘root‘,
roles:[
{role:‘syadmin‘,db:‘admin‘}
]})
好了現在重啟啟動資料庫帶上 --auth 就可以正常執行了
Node伺服器端配置:
var mongoose = require(‘mongoose‘)
var opts = { server: { socketOptions: { keepAlive: 1 } } }
// 串連地址
mongoose.connect(‘mongodb://uname:[email protected]:27017/db‘, opts);
var db = mongoose.connection;
//在控制台上輸出
db.on(‘error‘,()=>{ console.error(‘串連資料庫錯誤‘)})
db.once(‘open‘, () => { console.log(‘串連成功!‘)})
db.help()
DB methods:
1) db.adminCommand(nameOrDocument) - switches to ‘admin‘ db, and runs command [ just calls db.runCommand(...) ]
2) db.auth(username, password)
3) db.cloneDatabase(fromhost)
4) db.commandHelp(name) returns the help for the command
5) db.copyDatabase(fromdb, todb, fromhost)
6) db.createCollection(name, { size : ..., capped : ..., max : ... } )
7) db.createView(name, viewOn, [ { $operator: {...}}, ... ], { viewOptions } )
8) db.createUser(userDocument)
9) db.currentOp() displays currently executing operations in the db
10) db.dropDatabase()
11) db.eval() - deprecated
12) db.fsyncLock() flush data to disk and lock server for backups
13) db.fsyncUnlock() unlocks server following a db.fsyncLock()
14) db.getCollection(cname) same as db[‘cname‘] or db.cname
15) db.getCollectionInfos([filter]) - returns a list that contains the names and options of the db‘s collections
16) db.getCollectionNames()
17) db.getLastError() - just returns the err msg string
18) db.getLastErrorObj() - return full status object
19) db.getLogComponents()
20) db.getMongo() get the server connection object
21) db.getMongo().setSlaveOk() allow queries on a replication slave server
22) db.getName()
23) db.getPrevError()
24) db.getProfilingLevel() - deprecated
25) db.getProfilingStatus() - returns if profiling is on and slow threshold
26) db.getReplicationInfo()
27) db.getSiblingDB(name) get the db at the same server as this one
28) db.getWriteConcern() - returns the write concern used for any operations on this db, inherited from server object if set
29) db.hostInfo() get details about the server‘s host
30) db.isMaster() check replica primary status
31) db.killOp(opid) kills the current operation in the db
32) db.listCommands() lists all the db commands
33) db.loadServerScripts() loads all the scripts in db.system.js
34) db.logout()
35) db.printCollectionStats()
36) db.printReplicationInfo()
37) db.printShardingStatus()
38) db.printSlaveReplicationInfo()
39) db.dropUser(username)
40) db.repairDatabase()
41) db.resetError()
42) db.runCommand(cmdObj) run a database command. if cmdObj is a string, turns it into { cmdObj : 1 }
43) db.serverStatus()
44) db.setLogLevel(level,<component>)
45) db.setProfilingLevel(level,<slowms>) 0=off 1=slow 2=all
46) db.setWriteConcern( <write concern doc> ) - sets the write concern for writes to the db
47) db.unsetWriteConcern( <write concern doc> ) - unsets the write concern for writes to the db
48) db.setVerboseShell(flag) display extra information in shell output
49) db.shutdownServer()
50) db.stats()
51) db.version() current version of the server
春雷原創轉載請註明:http://www.cnblogs.com/chunlei36
mongodb資料庫添加許可權及簡單資料庫命令操作筆記