安装步骤

1.配置MongoDB的yum源

创建yum源文件:

vim /etc/yum.repos.d/mongodb-org-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=0  
enabled=1  
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

这里可以修改 gpgcheck=0, 省去gpg验证

安装之前先更新所有包 :yum update (可选操作)

2.安装MongoDB

安装命令:

yum -y install mongodb-org

20190114140639.png

安装完成后

查看修改配置文件 :

vim /etc/mongod.conf

20190114140823.png
默认为127.0.0.0修改成0.0.0.0,不修改的话无法远程连接

3.启动MongoDB

启动mongodb :

systemctl start mongod.service

查看mongodb状态:

systemctl status mongod.service

停止mongodb :

systemctl stop mongod.service

开机启动:

systemctl enable mongod.service

4.外网访问需要关闭防火墙:

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
关闭firewall:

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

5.启动Mongo shell

命令:mongo
20190114141408.png

查看数据库:show dbs
20190114141459.png

创建用户,授权

mongo默认登录不需要密码

1.创建 admin

角色:userAdminAnyDatabase (这是一个账号管理员的角色)
admin用户用于管理账号,不能进行关闭数据库等操作,目标数据库是admin

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

2.创建root

创建完admin管理员,创建一个 超级管理员 root 角色:root
root角色用于 关闭数据库 db.shutdownServer()

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

3.创建用户自己的数据库的角色

当账号管理员和超级管理员,可以为自己的数据库创建用户了
这时候一定,一定要切换到所在数据库上去创建用户,不然创建的用户还是属于admin。

use db01
db.createUser({user: "test",pwd: "123456",roles: [ { role: "dbOwner", db: "db01" } ]})

4.查看用户

创建完或者删完用户,可以查看当前的用户列表

db.system.users.find()
或者
show users

5.删除用户

删除用户必须由账号管理员来删,所以,切换到admin角色

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

删除单个用户

db.system.users.remove({user:"XXXXXX"})

删除所有用户

db.system.users.remove({})

SCRAM-SHA-1与MONGODB-CR用户安全认证

v3.0以上mongodb
默认的安全认证时的方式是:SCRAM-SHA-1
建议安全认证的方式是:MONGODB-CR

use admin
db.system.users.find()

如下图:
20190114143028.png

若要换成MONGODB-CR安全认证,修改认证方式的命令是:

> use admin
switched to db admin
>  var schema = db.system.version.findOne({"_id" : "authSchema"})
> schema.currentVersion = 3
3
> db.system.version.save(schema)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

然后删除之前创建的admin、root、test账号
20190114143430.png

再重新创建这个3个账号
如图:
20190114143631.png
可以看到认证方式已由SCRAM-SHA-1换成了MONGODB-CR
使用可视化工具连接也OK
20190114143807.png

Mongodb可视化工具Robo 3T下载

最后修改:2019 年 01 月 14 日 02 : 48 PM
如果觉得我的文章对你有用,请随意赞赏