营口市城乡住房建设局网站,做的最好的手机网站,白云区建网站,百度公司注册地址MongoDB的权限认证是相对来说比较复杂的#xff0c;不同的库创建后需要创建用户来管理。
本机中的MongoDB是docker 启动的#xff0c;所以先进入docker的镜像中
docker exec -it mongodb bash
这样就进入到了镜像MongoDB中#xff0c;然后输入命令连接MongoDB数据库 注…MongoDB的权限认证是相对来说比较复杂的不同的库创建后需要创建用户来管理。
本机中的MongoDB是docker 启动的所以先进入docker的镜像中
docker exec -it mongodb bash
这样就进入到了镜像MongoDB中然后输入命令连接MongoDB数据库 注意用户名密码以及数据库名称
mongo -u 123 -p 123 --authenticationDatabase space出现这个界面说明登录成功
接下来开始创建数据库 创建表 创建索引的操作
//创建数据库 dyys
use dyys//创建用户
db.createUser({user: 123,pwd: 123,roles: [{ role: readWrite, db: dyys }]
})//创建表 orbit_basic_data orbit_data
db.createCollection(orbit_basic_data)
db.createCollection(orbit_data)//为上面两个表的_id字段新增唯一索引
db.orbit_basic_data.createIndex({ _id: 1 }, { unique: true })
db.orbit_data.createIndex({ _id: 1 }, { unique: true })//为orbit_basic_data表中字段 orbitName添加普通索引
db.orbit_basic_data.createIndex({ orbitName: 1 })//查看表中的所有索引
db.orbit_basic_data.getIndexes()
//删除某个索引 这里的 orbitName_1 是索引的名称。请注意MongoDB 的索引名称通常由字段名和排序方式组成。
db.orbit_basic_data.dropIndex(orbitName_1)
当然 一般我们实际使用时需要进行挂载因为不挂载的话每次关机后 docker下镜像都会删除所有数据导致数据库丢失。所以可以用下面的命令进行挂载启动centos中
docker run --restartalways --name mongo -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAMEroot -e MONGO_INITDB_ROOT_PASSWORDroot -v /home/mongo/docker-data/27017/db/:/data/db -d mongo:4.4.10
-e MONGO_INITDB_ROOT_USERNAMEroot -e MONGO_INITDB_ROOT_PASSWORDroot
指定了当前镜像的用户名密码为root root
-v /home/mongo/docker-data/27017/db/:/data/db
指定将数据挂载到宿主机-v /home/mongo/docker-data/27017/db目录下
这样当我们再次启动的时候也不会导致数据库丢失
连接数据库
mongo -u root -p root 创建数据库
use dyys 创建用户并授权
db.createUser({ user: dyysuser, pwd: dyyspassword, roles: [ { role: readWrite, db: dyys } ] }) 退出mongo
quit() 即可