Linux 环境下安装MongoDB 4.x

安装和配置

下载MongoDB

    https://www.mongodb.com/download-center/community

    选择当前流行的4.0.8版本

    4.0版本最大的新特性就是支持多文档事务特性,以后我会花写时间详细学习下,本篇只介绍MongoDB的安装。

    https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.8.tgz

 

解压到安装目录

    tar -zxvf mongodb-linux-x86_64-4.0.8.tgz

    mv mongodb-linux-x86_64-4.0.8 /usr/local/mongodb

 

创建配置文件

    cd /usr/local/mongodb/bin/

    vi mongodb.conf

    #添加下述配置

#数据文件存放目录
dbpath = /usr/local/mongodb/data/db
#日志文件存放目录
logpath = /usr/local/mongodb/logs/mongodb.log
#端口
port = 27017                       
#以守护程序的方式启用,即在后台运行
fork = true
#允许所有的连接
bind_ip=0.0.0.0
auth = true

    #然后安装conf上面的配置创建data目录和日志文件

    mkdir -p /usr/local/mongodb/data/db
    mkdir -p /usr/local/mongodb/logs
    touch /usr/local/mongodb/logs/mongodb.log

 

启动mongo

    ./mongod -f /usr/local/mongodb/bin/mongodb.conf

启动成功会输出:

    forked process: 18877
    child process started successfully, parent exiting

 

配置环境变量

    vi /etc/profile

    #添加

    export PATH=$PATH:/usr/local/mongodb/bin

    #使配置文件生效

    source /etc/profile

 

创建用户

    #切换到admin数据库,use 命令也可以是创建数据库,当指定数据库不存在时即为创建

> use admin
switched to db admin

    # 使用db.createUser() 创建一个管理员用户,admin数据库的权限为root,创建成功会输出Successfully...

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

    #上面我们在配置文件中开启了auth认证, 所以现在需要使用db.auth()认证一下获取权限,成功会输出1

> db.auth("admin","123456")
1

    #使用show命令查看一下数据库和用户 

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> show users
{
	"_id" : "admin.admin",
	"user" : "admin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "root",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}

    #创建完用户后,需要关闭当前服务,然后重新启动mongodb

> db.shutdownServer()
server should be down...

    使用db.shutdownServer()命令关闭mongodb服务需要登录mongo客户端之后,切换到admin数据库。    

    也可以使用kill PID -2来关闭mongodb服务器(不要使用-9参数,会导致数据库文件损坏)。
    

附录:

角色名备注
read    允许用户读取指定数据库
readWrite    允许用户读写指定数据库
dbAdmin    允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin    允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin    只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase    只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase    只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase    只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase    只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root    只在admin数据库中可用。超级账号,超级权限

    









 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值