安装mongo 4.4.x

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

1.下载mongo

https://www.mongodb.com/try/download/community?tck=docs_server

2. 安装 mongo 依赖

sudo yum install libcurl openssl xz-libs

3.解压到/usr/local

tar -zxvf mongodb-linux-x86_64-rhel70-4.4.3.tgz

4.建立软连

ln -s mongodb-linux-x86_64-rhel70-4.4.3 mongodb

5.创建数据文件夹和日志文件夹

cd /usr/local/mongodb

mkdir -p data/db

mkdir -p data/log

6.在bin目录下创建配置文件

cd bin/

vim mongo.conf

输入以下内容:

dbpath=/usr/local/mongodb/data/db

port=27017

bind_ip=0.0.0.0

fork=true

logpath=/usr/local/mongodb/data/log/mongo.log

logappend=true

auth=true

7. 以配置文件启动与停止服务

#启动

./mongod -f mongo.conf

#查看进程

ps -ef|grep mongo

#停止

#./mongod --shutdown -f mongo.conf

8. 配置用户名密码(超级用户)

#连接mongodb

./mongo --host=127.0.0.1 --port=27017

#添加超管

use admin;

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

 #退出连接

 exit

9.使用超管进入bash并创建集合及设置用户角色

#登录

./mongo 127.0.0.1:27017/admin -u root -p root123

#创建集合

use db_test;

#创建用户

db.createUser({user:"db_test", pwd:"db_test", roles:[{role:"readWrite", db:"db_test"}]});

#退出连接

 exit

#尝试工具连接mongo,连接前确认27017端口是否已开放,具体开放细节参考步骤11

10.权限角色

MongoDB角色有:

数据库用户角色:read、readWrite;

数据库管理角色:dbAdmin、dbOwner、userAdmin;

集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;

备份恢复角色:backup、restore;

所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

超级用户角色:root;

内部角色:__system;

MongoDB权限:

read: 允许用户读取指定数据库

readWrite: 允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,具有所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,具有所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,具有所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,具有所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,具有所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限

    

#修改用户密码

     db.changeUserPassword('root','root1234');

#修改用户角色,覆盖之前的

    db.updateUser("db_test",{roles:[ {role:"readWrite",db:"db_test"} ]});

#给用户添加角色

    db.grantRolesToUser("db_test", [{role:"dbAdmin", db:"db_test"}]); 

#删除用户某个角色

    db.revokeRolesFromUser("db_test",[{role:"dbAdmin", db:"db_test"}]);

#删除用户

    db.dropUser("db_test");

11.开放27017端口

    两种方式

    a.清除所有防火墙规则 

            iptables -F  

    b.启动防火墙,开放27017端口

        #查看防火墙状态

            firewall-cmd --state

        #如果防火墙未启动,启动防火墙

            systemctl start firewalld

        #开机启动防火墙

            systemctl enable firewalld 

        #查看防火墙开放的端口       

            firewall-cmd --list-port

        #发现没有27017端口,添加27017端口

            firewall-cmd --zone=public --add-port=27017/tcp --permanent

        #重新加载防火墙

            firewall-cmd --reload

        #再次查看防火墙开放的端口       

            firewall-cmd --list-port

        #完成端口开放

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值