开启数据库后,进入admin数据库,并添加root用户:
>mongo
>use admin
>db.createUser(
{
user: "root",
pwd: "rootpwd",
roles: [ { role: "root", db: "admin" } ]
}
)
然后在数据库conf文件中设置auth = true,表示数据库以安全认证方式运行。
此时进入到数据库就需要用到刚才创建的用户了。在robo3T中编辑下连接,保存后即可。
在工作数据库中创建管理员:
在根目录下登录,然后进入到工作数据库中创建登录账号,role选择dbOwner,表示是该数据库的拥有者:
>mongo
>use admin
>db.auth('root','rootpwd')
>use workdb
>db.createUser(
{
user: "admin",
pwd: "adminpwd",
roles: [ { role: "dbOwner", db: "workdb" } ]
}
)
完成后该用户可以单独登录workdb数据库:
服务器中加入数据库的用户配置:
config.mongoose = {
client: {
url: 'mongodb://admin:adminpwd@localhost/workdb',
options: {}
}
};
python中加入用户配置:
conn = MongoClient(config.config_serverIP, config.config_mongodbPort) #HZ
db = conn.mongoosedb #连接mydb数据库,没有则自动创建
db.authenticate(config.config_serverAccount, config.config_serverPwd)
一些常用的mongodb命令:
根据conf启动命令:
mongod -f ./mongodb.conf
用户登录命令:
use admin
db.auth("root", "rootpwd" )
关闭数据库命令:(若有用户密码,则需先登录)
use admin
db.shutdownServer()
备份命令,表示把admin数据库备份到.bindump下,用户名为root,密码为rootpwd:
mongodump -h localhost:27017 -d admin -o .bindump -u=root -p=rootpwd --authenticationDatabase=admin
还原命令,表示从.bindumpadmin 中恢复数据备份,并命名为admin。
mongorestore -h localhost:27017 -d admin --dir .bindumpadmin -u=root -p=rootpwd --authenticationDatabase=admin