安装MongoDB的方法有很多种,可以源代码安装,在Centos也可以用yum源安装的方法。

1、准备工作

运行yum命令查看MongoDB的包信息

yum info mongodb-org

(提示没有相关匹配的信息,) 说明你的centos系统中的yum源不包含MongoDB的相关资源,

2、增加源

vim /etc/yum.repos.d/mongodb-3.4.repo

输入下面的语句:

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

3、安装

yum install -y mongodb-org

4、启动Mongodb

service mongod start

以后有更新了执行yum update mongo-10gen mongo-10gen-server 即可。

5、服务器配置

# mongo.conf

#where to log
logpath=/var/log/mongo/mongod.log

logappend=true #以追加方式写入日志

# fork and run in background
fork = true  

port = 27017 #端口

dbpath=/var/lib/mongo #数据库文件保存位置
directoryperdb=true
# Enables periodic logging of CPU utilization and I/O wait
#启用定期记录CPU利用率和 I/O 等待   
#cpu = true  

# Turn on/off security.  Off is currently the default  
# 是否以安全认证方式运行,默认是不认证的非安全方式   
#noauth = true  
auth = true  

# Verbose logging output.
# 详细记录输出   
#verbose = true  

# Inspect all client data for validity on receipt (useful for  
# developing drivers)用于开发驱动程序时的检查客户端接收数据的有效性   
#objcheck = true  

# Enable db quota management 启用数据库配额管理,默认每个db可以有8个文件,可以用quotaFiles参数设置   
#quota = true  
# 设置oplog记录等级   
# Set oplogging level where n is   
#   0=off (default)   
#   1=W   
#   2=R   
#   3=both   
#   7=W+some reads   
#oplog = 0  

# Diagnostic/debugging option 动态调试项   
#nocursors = true  

# Ignore query hints 忽略查询提示   
#nohints = true  
# 禁用http界面,默认为localhost:28017  
# Disable the HTTP interface (Defaults to localhost:27018).这个端口号写的是错的   
#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 = <size>   

# Accout token for Mongo monitoring server.   
#mms-token = <token>   
# mongo监控服务器的名称   
# Server name for Mongo monitoring server.   
#mms-name = <server-name>   
# mongo监控服务器的ping 间隔   
# Ping interval for Mongo monitoring server.   
#mms-interval = <seconds>   

# Replication Options 复制选项   

# in replicated mongo databases, specify here whether this is a slave or master 在复制中,指定当前是从属关系   
#slave = true  
#source = master.example.com   
# Slave only: specify a single database to replicate   
#only = master.example.com   
# or   
#master = true  
#source = slave.example.com  

配置授权登录

> use admin
> db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})

登录数据库

mongo 127.0.0.1:27017/admin -u root -p

查询

> db.comlogs.find().count()
326466

6、mongodb角色

内置角色

  • 数据库用户角色:read、readWrite;

  • 数据库管理角色:dbAdmin、dbOwner、userAdmin;

  • 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;

  • 备份恢复角色:backup、restore;

  • 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

  • 超级用户角色:root, 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

  • 内部角色:__system

具体角色

  • read:允许用户读取指定数据库

  • readWrite:允许用户读写指定数据库

  • dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

  • userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

  • clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

  • readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

  • readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

  • userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

  • dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

  • root:只在admin数据库中可用。超级账号,超级权限

版权声明:本文为chenpingzhao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:http://www.cnblogs.com/chenpingzhao/p/7906360.html