-
下载
官网下载实在是费劲,所以到这来下链接 -
安装
正常操作 -
创建数据库目录、日志目录等配置
mongodb用到但是不自动创建,可能是为了让用户自己选个大的硬盘分区创建吧。
网上说要放在根目录,但是我直接放在安装目录下了,也没问题。
path/data/db,path/data/log。我觉得这就是一个存储位置问题,具体路径、文件夹名称应该随意。
如果愿意,配置下PATH环境变量。 -
测试是否安装成功
非常传统的方式,显示版本信息就对了
cmd> mongo -version
再启动下试试
mongod --dbpath path\data\db
浏览器访问:http://localhost:27017/
页面显示:It looks like you are trying to access MongoDB over HTTP on the native driver port.
启动成功。 -
配置本地服务
在安装目录下添加配置文件path\config\local.cfg
管理员身份CMD
cmd> mongod --config " path\mongod.cfg" --install --serviceName "MongoDB Service"
添加服务成功后,通过管理员命令行net start "MongoDB Service"启动或命令行net stop "MongoDB Service"关闭MongoDB服务,也可设置开机启动。
配置文件内容,根据需要修改
#日志文件位置
logpath=path\local.log
# 以追加方式写入日志
logappend=true
# 是否以守护进程方式运行
#fork = true
# 默认27017
#port = 27017
# 数据库文件位置
dbpath=path\db
# 启用定期记录CPU利用率和 I/O 等待
#cpu = true
# 是否以安全认证方式运行,默认是不认证的非安全方式
#noauth = true
#auth = true
# 详细记录输出
#verbose = true
# Inspect all client data for validity on receipt (useful for
# developing drivers)用于开发驱动程序时验证客户端请求
#objcheck = true
# Enable db quota management
# 启用数据库配额管理
#quota = true
# 设置oplog记录等级
# Set oplogging level where n is
# 0=off (default)
# 1=W
# 2=R
# 3=both
# 7=W+some reads
#diaglog=0
# Diagnostic/debugging option 动态调试项
#nocursors = true
# Ignore query hints 忽略查询提示
#nohints = true
# 禁用http界面,默认为localhost:28017
#nohttpinterface = true
# 关闭服务器端脚本,这将极大的限制功能
# Turns off server-side scripting. This will result in greatly limited
# functionality
#noscripting = true
# 关闭扫描表,任何查询将会是扫描失败
# Turns off table scans. Any query that would do a table scan fails.
#notablescan = true
# 关闭数据文件预分配
# Disable data file preallocation.
#noprealloc = true
# 为新数据库指定.ns文件的大小,单位:MB
# Specify .ns file size for new databases.
# nssize =
# Replication Options 复制选项
# in replicated mongo databases, specify the replica set name here
#replSet=setname
# maximum size in megabytes for replication operation log
#oplogSize=1024
# path to a key file storing authentication info for connections
# between replica set members
#指定存储身份验证信息的密钥文件的路径
#keyFile=/path/to/keyfile
删除服务:sc delete "MongoDB Service"
- 添加权限认证
1.启动mongodb服务
2.连接服务:cmd> mongo -host localhost:27017
3.查看所有库 > show dbs
4.进入admin库 > use admin
5.查看所有角色 > show roles
6.给admin库创建管理员账号 > db.createUser({ user: "admin", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。admin用户用于管理账号,不能进行关闭数据库等操作。
7.创建root账户> db.createUser({user: "root",pwd: "password", roles: [ { role: "root", db: "admin" } ]})
root可以用来关机了。因为是基于role的,所以这个role给admin也行。
8.同样的方法,也可以给自建库添加用户和密码
9.查看用户 > show users
10.到配置文件把auth打开
11.重启后,认证登录 > db.auth("admin", "password")
数据库用户角色(Database User Roles)
read:授予User只读数据的权限
readWrite:授予User读写数据的权限
数据库管理角色(Database Administration Roles):
dbAdmin:在当前dB中执行管理操作
dbOwner:在当前DB中执行任意操作
userAdmin:在当前DB中管理User
备份和还原角色(Backup and Restoration Roles):
backup
restore
跨库角色(All-Database Roles):
readAnyDatabase:授予在所有数据库上读取数据的权限
readWriteAnyDatabase:授予在所有数据库上读写数据的权限
userAdminAnyDatabase:授予在所有数据库上管理User的权限
dbAdminAnyDatabase:授予管理所有数据库的权限
集群管理角色(Cluster Administration Roles):
clusterAdmin:授予管理集群的最高权限
clusterManager:授予管理和监控集群的权限,A user with this role can access the config and local databases, which are used in sharding and replication, respectively.
clusterMonitor:授予监控集群的权限,对监控工具具有readonly的权限
hostManager:管理Server
网友评论