1.查看mongo是否启动
ps aux |grep mongo
2、杀死 mongodb 的进程,输入查询出来的进程号
kill -9 14386
3.查询mongo的配置文件位置
find / -name mongod.conf
4. 进入到bin目录,其中有启动脚本
cd /usr/local/mongodb3/bin
ll
5.使用脚本启动mongoDB
mongod -f mongodb.conf
常用的mongodb操作
查看mongodb中的用户
show users
创建用户
db.createUser(
{
user: "admin",
pwd: "admin",
roles: [ { role: "root", db: "CustomReport" } ]
}
)
user字段,为新用户的名字;
pwd字段,用户的密码;
cusomData字段,为任意内容,例如可以为用户全名介绍;
roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色。在roles字段,可以指定内置角色和用户定义的角色。
超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库的访问,仅仅是访问而已)。
db是指定数据库的名字,admin是管理数据库。
不能用admin数据库中的用户登录其他数据库。注:只能查看当前数据库中的用户,哪怕当前数据库admin数据库,也只能查看admin数据库中创建的用户。
数据库角色
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、4. clusterMonitor、hostManage;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
内部角色:__system
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
修改密码
db.changeUserPassword("username", "userpass")
删除用户
db.dropUser('root')
创建超级用户
db.createUser(
{
user:"root",
pwd:"pwd",
roles:["root"]
}
)
整合springboot
mongodb://username:password@host1:port1,host2:port2,...,hostN:portN/database?optionsspring.data.mongodb.uri=mongodb://admin:123456@ip:port/CustomReport?authSource=admin
mongodb://
:这是固定的格式,必须要指定username:password@
:可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登录这个数据库host1:port1
:主机IP和端口号,必须指定至少一个host。如果要连接复制集,请指定多个主机地址/database
:如果指定了username:password@
,连接时会验证并登录指定数据库。若不指定,默认打开 test 数据库?options
:连接可选项,例如connectTimeoutMS=5000ms
,表示连接等待时间最长 5 秒