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
#完成端口开放

391

被折叠的 条评论
为什么被折叠?



