MongoDB安装及配置

MongoDB安装及配置(centOS7)

1.下载安装包:

wget  https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-4.0.4.tgz

2.解压:

tar -zxvf mongodb-linux-x86_64-rhel62-4.0.4.tgz

3.将解压包移动到指定的目录(本人指定的是/usr/mongodb/)

mv mongodb-linux-x86_64-rhel62-4.0.4 /usr/mongodb/ #事先在/usr/下创建目录 mongodb。mkdir mongodb

4.创建库文件目录和日志文件目录 (/usr/mongodb/data/db 和 /usr/mongodb/logs)

cd /usr/mongodb/
mkdir -f data/db
mkdir logs

5.创建配置文件并配置(mongodb.conf)

cd /usr/mongodb/mongodb-linux-x86_64-rhel62-4.0.4/bin
vim mongodb.conf

        配置如下表,其他配置属性见附录表1

dbpath=/usr/mongodb/data/db
#数据库日志存放目录
logpath=/usr/mongodb/logs/mongodb.log 
#以追加的方式记录日志
logappend = true
#端口号 默认为27017
port=27017 
#以后台方式运行进程
fork=true 
 #关闭用户认证
auth=false
#mongodb所绑定的ip地址
bind_ip = 127.0.0.1 
#启用日志文件,默认启用
journal=true 
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为falsequiet=true 

6.环境变量配置

vim ~/.bashrc   #配置保存完,不能立即生效,重新登陆即可生效 

        配置如下:

# mongodb
export MONGODB_HOME=/usr/mongodb/mongodb-linux-x86_64-rhel62-4.0.4
export PATH=$PATH:$MONGODB_HOME/bin

7.开放端口(27017)

如果firewalld没有开启,需开启:

 systemctl start firewalld.service

   关于firewalld 详解:https://www.cnblogs.com/softidea/p/5732409.html

    打开端口

firewall-cmd --zone=public --add-port=27017/tcp --permanent

   查看端口

firewall-cmd --permanent --query-port=27017/tcp

  重读防火墙

firewall-cmd --reload

8.启动/关闭

mongod -f mongodb.conf  #启动
mongod -f mongodb.conf --shutdown   #关闭

9.连接

mongo  #默认连接的是test数据库

10.创建用户

      创建管理员

use admin  #切换数据库
db.createUser({user:"dbroot",pwd:"dbroot",roles:["userAdminAnyDatabase"]}) #创建用户
db.auth("dbroot","dbroot")  #授权认证,1:代表认证成功

      开启用户认证,即修改配置文件 mongodb.conf,修改完重启服务 

#开启用户认证
auth=true

      创建普通用户

use test
db.createUser({user:"cool",pwd:"cool",roles:[{role:"readWrite",db:"test"}]})

      使用刚创建的用户登陆

exit  #退出mongodb
mongo 127.0.0.1/test -u cool -p  #登陆

11.角色说明:

权限

说明

Read                

允许用户读取指定数据库

readWrite           

允许用户读写指定数据库

dbAdmin             

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

userAdmin           

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

clusterAdmin        

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

readAnyDatabase     

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

readWriteAnyDatabase

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

userAdminAnyDatabase

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

dbAdminAnyDatabase  

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

root                

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

   更多关于用户权限的说明参照:https://docs.mongodb.com/manual/core/security-built-in-roles/

 

附录1 

配置参数含义

--quiet
# 安静输出
--port arg
# 指定服务端口号,默认端口27017
--bind_ip arg
# 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
--logpath arg
# 指定MongoDB日志文件,注意是指定文件不是目录
--logappend
# 使用追加的方式写日志
--pidfilepath arg
# PID File 的完整路径,如果没有设置,则没有PID文件
--keyFile arg
# 集群的私钥的完整路径,只对于Replica Set 架构有效
--unixSocketPrefix arg
# UNIX域套接字替代目录,(默认为 /tmp)
--fork
# 以守护进程的方式运行MongoDB,创建服务器进程
--auth
# 启用验证
--cpu
# 定期显示CPU的CPU利用率和iowait
--dbpath arg
# 指定数据库路径
--diaglog arg
# diaglog选项 0=off 1=W 2=R 3=both 7=W+some reads
--directoryperdb
# 设置每个数据库将被保存在一个单独的目录
--journal
# 启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里
--journalOptions arg
# 启用日志诊断选项
--ipv6
# 启用IPv6选项
--jsonp
# 允许JSONP形式通过HTTP访问(有安全影响)
--maxConns arg
# 最大同时连接数 默认2000
--noauth
# 不启用验证
--nohttpinterface
# 关闭http接口,默认关闭27018端口访问
--noprealloc
# 禁用数据文件预分配(往往影响性能)
--noscripting
# 禁用脚本引擎
--notablescan
# 不允许表扫描
--nounixsocket
# 禁用Unix套接字监听
--nssize arg (=16)
# 设置信数据库.ns文件大小(MB)
--objcheck
# 在收到客户数据,检查的有效性,
--profile arg
# 档案参数 0=off 1=slow, 2=all
--quota
# 限制每个数据库的文件数,设置默认为8
--quotaFiles arg
# number of files allower per db, requires --quota
--rest
# 开启简单的rest API
--repair
# 修复所有数据库run repair on all dbs
--repairpath arg
# 修复库生成的文件的目录,默认为目录名称dbpath
--slowms arg (=100)
# value of slow for profile and console log
--smallfiles
# 使用较小的默认文件
--syncdelay arg (=60)
# 数据写入磁盘的时间秒数(0=never,不推荐)
--sysinfo
# 打印一些诊断系统信息
--upgrade
# 如果需要升级数据库


 * Replicaton 参数

---fastsync

# 从一个dbpath里启用从库复制服务,该dbpath的数据库是主库的快照,可用于快速启用同步
--autoresync
# 如果从库与主库同步数据差得多,自动重新同步,
--oplogSize arg
# 设置oplog的大小(MB)
 * 主/从参数

 

master
# 主库模式
--slave
# 从库模式
--source arg
# 从库 端口号
--only arg
# 指定单一的数据库复制
--slavedelay arg
# 设置从库同步主库的延迟时间


 * Replica set(副本集)选项:

replSet arg
# 设置副本集名称


 * Sharding(分片)选项

configsvr
# 声明这是一个集群的config服务,默认端口27019,默认目录/data/configdb
--shardsvr
# 声明这是一个集群的分片,默认端口27018
--noMoveParanoia
# 关闭偏执为moveChunk数据保存
 

参考:

https://www.cnblogs.com/clsn/p/8214194.html#auto_id_30

https://blog.youkuaiyun.com/guoxingege/article/details/47339885

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值