ubuntu安装MongoDB4.x

安装和配置

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数据库中可用。超级账号,超级权限
————————————————
版权声明:本文转载自CSDN博主「会敲代码的小蜜蜂」的原创文章
原文链接:https://blog.csdn.net/bluerebel/article/details/89182040

你可能感兴趣的:(ubuntu安装MongoDB4.x)