Centos下mongodb3.4的安装与配置
2017-08-29 本文已影响2026人
ChainZhang
本文为转载,原文:Centos下mongodb3.4的安装与配置
mongodb安装
yum命令安装
本次安装使用的是yum
命令安装,在安装志强,我们先执行以下命令更新下yum
。
yum update
然后添加mongodb
的yum
源。
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角色
内置角色
-
数据库用户角色
:read、readWrite; -
数据库管理角色
:dbAdmin、dbOwner、userAdmin; -
集群管理角色
:clusterAdmin、clusterManager、clusterMonitor、hostManager; -
备份恢复角色
:backup、restore; -
所有数据库角色
:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase -
超级用户角色
:root, 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase) -
内部角色
:__system
具体角色
-
read
:允许用户读取指定数据库 -
readWrite
:允许用户读写指定数据库 -
dbAdmin
:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile -
userAdmin
:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户 -
clusterAdmin
:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。 -
readAnyDatabase
:只在admin数据库中可用,赋予用户所有数据库的读权限 -
readWriteAnyDatabase
:只在admin数据库中可用,赋予用户所有数据库的读写权限 -
userAdminAnyDatabase
:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限 -
dbAdminAnyDatabase
:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。 -
root
:只在admin数据库中可用。超级账号,超级权限
完
本文为原创,转载请注明出处