2.软文推荐
3.软文推荐
目录: 1、如何对MongoDB 3.2.7进行用户权限管理配置 2、mongodb设置有权启动 3、如何给mongodb管理员权限 4、mongodb中的用户,角色,权限该怎么设计 5、mongodb怎么开启用户权限 6、【mongoDB】mongoDB创建业务库、用户并授权 如何对MongoDB 3.2.7进行用户权限管理配置方法如下:创建数据库usett这样就创建了一个数据库,如果什么都不操作离开的话,这个库就会被系统删除.所以还要执行下面的命令:db.usr.insert({'name':'tompig'});db.usr.insert({'name':'tompig1','id':1});随便整了2个表,这个无所谓的,反正要导入表的话就删除掉这2个就可以了,目前只是想让数据库保持住.然后使用命令查看是否有保存tt这个数据库:showdbs3.配置用户usettdb.addUser('mongodb','123456');mongodb是用户名,123456是密码.好了,这样一个数据库和对这个数据库配置用户就完成了.mongodb常用命令:1、Help查看命令提示helpdb.help();db.yourColl.help();db.youColl.find().help();rs.help();2、切换/创建数据库useyourDB;当创建一个集合(table)的时候会自动创建当前数据库3、查询所有数据库showdbs;4、删除当前使用数据库db.dropDatabase();5、从指定主机上克隆数据库db.cloneDatabase(“127.0.0.1”);将指定机器上的数据库的数据克隆到当前数据库6、从指定的机器上复制指定数据库数据到某个数据库db.copyDatabase("mydb","temp","127.0.0.1");将本机的mydb的数据复制到temp数据库中7、修复当前数据库db.repairDatabase();8、查看当前使用的数据库db.getName();db;db和getName方法是一样的效果,都可以查询当前使用的数据库9、显示当前db状态db.stats();10、当前db版本db.version();11、查看当前db的链接机器地址db.getMongo();Collection聚集集合1、创建一个聚集集合(table)db.createCollection(“collName”,{size:20,capped:5,max:100});2、得到指定名称的聚集集合(table)db.getCollection("account");3、得到当前db的所有聚集集合db.getCollectionNames();4、显示当前db所有聚集索引的状态db.printCollectionStats();用户相关1、添加一个用户db.addUser("name");db.addUser("userName","pwd123",true);添加用户、设置密码、是否只读2、数据库认证、安全模式db.auth("userName","123123");3、显示当前所有用户showusers;4、删除用户db.removeUser("userName");其他1、查询之前的错误信息db.getPrevError();2、清除错误记录db.resetError();
mongodb设置有权启动1.首先停掉服务已无权限的方式启动(登录无需账号密码)直接通过ip和端口连接上的就是最大权限管理员;
(1)停掉服务
./mongod --shutdown --dbpath=/usr/local/mongodb/datas(注:usr/local/mongodb/data是你的mongodb仓库中心)
(2)无权限启动
./mongod --dbpath=/usr/local/mongodb/datas --logpath=/usr/local/mongodb/log/mongodb.log --logappend --port=27017 --fork
2.连接上mongodb之后,打开shell
创建数据空间:
use data_test
创建用户及赋权限:
db.createUser({user:"itower",pwd:"itomongo_1qazne41okm3312",roles:[{role:"readWrite",db:"itower"}]})
3.停掉服务用权限的启动mongodb
(1)停掉服务
进入你的mongodb安装目录的bin文件夹输入:
./mongod --shutdown --dbpath=/usr/local/mongodb/datas(注:usr/local/mongodb/data是你的mongodb仓库中心)
(2)有权启动
./mongod --dbpath=/usr/local/mongodb/datas --logpath=/usr/local/mongodb/log/mongodb.log --logappend --auth --port=27017 --fork
如何给mongodb管理员权限1.用户权限说明
A.MongoDB是没有默认管理员账号,所以要先添加管理员账号,再开启权限认证。
B.切换到admin数据库,添加的账号才是管理员账号。
C.用户只能在创建用户对应的数据库中完成认证,包括管理员账号。
D.管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以。
2.MongoDB数据库角色
A.数据库用户角色:read、readWrite;
B.数据库管理角色:dbAdmin、dbOwner、userAdmin;
C.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
D.备份恢复角色:backup、restore;
E.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
F.超级用户角色:root
角色说明:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
3.添加管理员账号及完成认证
db.createUser({user:’root’,pwd:’zuchezaixian’,roles:[{role:’root’,db:’admin’}]})
注:所有数据库下的用户都在admin的users集合中可以查询到:db.system.users.find()
配置文件指定启用身份认证,重启MongoDB服务。
重启后执行show dbs会提示未认证,我们需要切换到admin数据库下完成管理员账号认证:
完成认证后,就可以成功执行show dbs了。
4.Spring配置用户认证
mongodb.properties中指定管理员账号及对应的数据库名。
在spring-data-mongodb 1.7版本后需要在mongo-client
中设置 credentials属性来指定管理员信息,credentials的配置形式是:“用户名:密码@默认数据库”,如:credentials="${mongo.user}:${mongo.pwd}@${mongo.defaultDbName}"
mongodb中的用户,角色,权限该怎么设计1. 输入命令:show dbs发现内置两数据库名admin名locallocal像没啥用哪位使用程发现local表用途希望能够留言提醒我专说说admin表
2. 输入命令:use admin发现该DB包含system.user表呵呵没错表等同于MsSql用户表用存放超级管理员我往面添加超级管理员试试看
3.
输入命令:db.addUser('sa','sa')我添加超级管理员用户usernamesapasswordsa即我添
加超级管理员咱测试看看咱再连接MongoDB需需要提示输入用户名、密码我先退(ctrl+c)
4. 输入命令:use admin
5. 输入命令:show collections查看该库所表发现MongoDB并没提示输入用户名、密码奇怪事呢文章始提
MongoDB默认设置权限访问限制即我先设置需要权限访问限制咱再看看效设置呢
6. 注册表找MongoDB节点ImgPath我修改加入 -auth所示:
"D:Program Filesmongodbinmongod" -dbpath e:workdatamongodbdb -logpath e:workdatamongodblog -auth -service
7. 输入命令:use admin
mongodb怎么开启用户权限1. 输入命令:show dbs,你会发现它内置有两个数据库,一个名为admin,一个名为local。local好像没啥用,如果哪位在使用过程中发现了这个local表的用途,希望能够留言提醒,那我们就专心来说说admin表
2. 输入命令:use admin,你会发现该DB下包含了一个system.user表,呵呵,没错,这个表就等同于MsSql中的用户表,用来存放超级管理员的,那我们就往它里面添加一个超级管理员试试看
3.
输入命令:db.addUser('sa','sa'),这里我添加一个超级管理员用户,username为sa,password也为sa,即然我们添
加了超级管理员,那咱们就来测试下,看看咱们再次连接MongoDB需不需要提示输入用户名、密码,我们先退出来(ctrl+c)
4. 输入命令:use admin
5. 输入命令:show collections,查看该库下所有的表,你会发现,MongoDB并没有提示你输入用户名、密码,那就奇怪了,这是怎么回事呢?在文章最开始提到了,
MongoDB默认设置为无权限访问限制,即然这样,那我们就先把它设置成为需要权限访问限制,咱们再看看效果,怎么设置呢?
6. 在注册表中,找到MongoDB的节点,在它的ImgPath中,我们修改一下,加入 -auth,如下所示:
"D:Program Filesmongodbinmongod" -dbpath e:workdatamongodbdb -logpath e:workdatamongodblog -auth -service
7. 输入命令:use admin
【mongoDB】mongoDB创建业务库、用户并授权1. 以超级管理员身份(root@admin)登陆mongoDB other实例。
$ mongo --port 27017 -u "root" -p "Mongo@123" --authenticationDatabase admin
2. 没有testDB库,use testDB 会自动建库
use testDB
3. 在 testDB库里建一个 testUsert业务用户(testUser@testDB),并授权
##########################
db.createUser(
{
user : "testUser",
pwd : "Mongo@123",
roles: [ { role : "readWrite", db : "testDB" } ,
{ role : "dbAdmin", db : "testDB" } ,
{ role : "userAdmin", db : "testDB" }
]
}
)
##########################
类似MySQL: grant all privileges on testDB.* to testUser identified by "Mongo@123";
4. 退出 mongoDB shell
exit
5. 测试走 testDB 认证库,登陆后只能在自己的库 testDB 里读写
$ mongo --port 27017
use testDB
db.auth("testUser","Mongo@123")
测试数据写/读
db.testTable.insert({"name":"Bogon"})
db.testTable.find()
删除测试数据
db.testTable.drop()
客户端工程jdbc连接字符串:
spring.data.mongodb.uri=mongodb://${username}:${password}@${xx.xx.xx.xx:27017,xx.xx.xx.xx:27017,xx.xx.xx.xx:27017}/testDB?authSource=testDBauthMechanism=SCRAM-SHA-1
注意:认证库 authSource 是此时的业务库 testDB,不是admin
如果还需其他选项,请参考MongoDB官方文档
MongoDB Manual/Connection String URI Format
1
目录:1、Tomcat基础(2)2、如何用apache + tomcat 配置虚拟主机3、tomcat配置多个localhost4、Tomcat虚拟主机配置Tomcat基础(2) Tomcat服务器的配置主要集...