MongoDB安装,创建用户登陆验证, 最详细教学,没有之一

Linux安装MongoDB数据库

下载安装包, 并解压tgz(以下演示代码是64位Linux上的安装)

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz # 下载
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz # 解压
mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb # 将解压包拷贝到指定目录(这个路径需要记住,这里是: /usr/local/mongodb)
添加PATH路径, 类似于添加到window的环境变量中;
export PATH=/usr/local/mongodb/bin:$PATH # 这里的 /usr/local/mongodb/bin 是我自己安装的路径, 你可以根据自己的需求来修改

创建数据库目录

MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。
以下实例中我们将data目录创建于根目录下(/)。
注意:/data/db 是 MongoDB 默认的启动的数据库路径(–dbpath)。

cd / #切换到系统的根目录下
mkdir -p /data/db #创建一个data目录和db目录
mkdir -P /logs/mongodb.log #创建一个logs目录和mongodb.log文件

添加MongoDB配置文件

在mongodb的bin目录下配置一个mongo.conf文件

cd /usr/local/mongodb/bin #切换到mongodb的bin目录下, 根据你的实际情况来更改
vim mongodb.conf #创建一个mongodb.conf文件
mongo.conf文件内容

bind_ip_all = true      #任何机器可以连接
# bind_ip = 127.0.0.1,192.168.0.3   #本机和192.168.0.3可以访问
port = 27017             #数据库运行的端口
dbpath = /data/db        #数据文件夹存放地址(之前创建过的)
logpath = /logs/mongodb.log  #日志文件的地址
logappend = true         # 日志是重写文件还是追加
fork = true              # 是否开启后台运行mongodb数据库(这个是重点,一定要是true)
# auth = true              # 开启校验用户(先关闭用户验证,后面会介绍如何开启用户验证)
nohttpinterface = true   # 关闭http端口访问, 默认关闭

启动MongoDB数据

配置好了文件之后, 最后开始启动数据库

cd /usr/local/mongodb/bin #先到bin目录下, 防止路径错误(因为mongo.conf文件在bin路径中)
./mongod -f mongo.conf 或者 ./mongod --config=mongo.conf
进入数据库
$ mongo
MongoDB shell version: 3.0.6
connecting to: test
Welcome to the MongoDB shell.

配置用户名和密码登陆

先进入数据库

mongo
现在需要创建一个帐号,该账号需要有grant权限,即:账号管理的授权权限。注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。
use admin
db.createUser({user:“admin”,pwd:“123456”,roles: [{role:“root”,db:“admin”}]})

user: 用户名
pwd: 密码
roles: 指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。role里的角色可以选:
Built-In Roles(内置角色):

  • 1.数据库用户角色:read、readWrite;
  • 2.数据库管理角色:dbAdmin、dbOwner、userAdmin;
  • 3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  • 4.备份恢复角色:backup、restore;
  • 5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  • 6.超级用户角色:root
  • 7.这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
  • 8.内部角色:__system
    具体角色:
    Read:允许用户读取指定数据库
    readWrite:允许用户读写指定数据库
    dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
    userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
    clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
    readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
    readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
    userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
    dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
    root:只在admin数据库中可用。超级账号,超级权限。
配置auth参数

修改mongo.conf的参数

cd /usr/local/mongodb/bin
vim mongo.conf
auth = true
./mongod -f mongo.conf
看到输出 successfully表示修改成功

通过验证使用数据库

use admin #之前说的, 必须在之前创建用户的数据库下验证才有用
db.auth(“admin”,“123456”) #输入账号密码
1 #输出1表示验证成功

如果前面的 ./mongod -f mongo.conf没输出successfully

手动重启mongodb

mongo #进入数据库
use admin #进入admin表 备注:命令 db.shutdownServer()关闭命令只能在admin在使用。不然会出错
db.shutdownServer() #关闭数据库
继续执行启动命令
./mongod -f mongo.conf
输出successfully,成功!

有任何问题可以在下面评论或者私聊我, 我看到会回复的哦~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值