×

Centos下mongodb3.4的安装与配置

96
ChainZhang
2017.08.29 17:59* 字数 877

本文为转载,原文:Centos下mongodb3.4的安装与配置

mongodb安装

yum命令安装

本次安装使用的是yum命令安装,在安装志强,我们先执行以下命令更新下yum

yum update

然后添加mongodbyum源。

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

将以下内容添加到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

这里可以修改 gpgcheck=0, 省去gpg验证
最后再执行以下命令进行安装:

yum install -y mongodb-org

执行完命令后,耐心等待即可。

验证是否成功

我们再来执行以下命令验证下我们是否安装成功:

mongo --version

这个结果便说明已经安装成功。

我们可以通过以下命令查看安装后的相关文件目录:

whereis mongod


/etc/mongod.conf就是mongodb的配置文件。

启动,停止服务

centos7以下的启动、停止服务命令如下:

sudo service mongod start //启动服务
sudo service mongod stop  //停止服务

centos7以上的启动停止服务命令如下:

systemctl start mongod.service //启动服务
systemctl stop mongod.service  //停止服务
systemctl status mongod.service //查看服务状态


在终端输入mongo命令即可进入mongodb的shell脚本:

可以输入些简单的命令验证测试下:

配置授权登录

之前直接输入mongo命令进入脚本,是没有使用用户名和密码登录的。那么,我们要如何才能使用用户名密码来管理我们的mongodb呢?
首先,我们得创建用户,同样我们先使用mongo命令进入脚本,并一次执行以下命令用以创建用户:

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

user:用户名
pwd:密码
roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。role里的角色选择我在文章后面补充。

然后,我们在修改下配置文件,先在mongo脚本里输入exit退出mongo。之后再输入以下命令修改配置文件:

vim /etc/mongod.conf


修改图中红色框的内容,注释bindIp,解开security的注释,并在下方添加authorization: enabled即可。
之后再重启mongodb,重启的命令之前已经说过了,centos7之前与之后有些差别。
然后再试下mongo命令。

我们发现show dbs命令报错了,这是因为我们开启了认证,但是我们并没有登录。我们可以用以下命令来添加授权:

> use admin
> db.auth("root","123456")

这样我们就可以继续访问mongodb了。
或者我们可以用我们的用户名密码登录:

mongo 127.0.0.1:27017/admin -u root -p

这样也是可以的。

mongodb角色

内置角色

  1. 数据库用户角色:read、readWrite;
  2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  4. 备份恢复角色:backup、restore;
  5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超级用户角色:root, 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 内部角色:__system

具体角色

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

本文为原创,转载请注明出处

mongodb
Web note ad 1