Mongodb在Linux Centos上的安装和使用

安装Mongodb

  1. 创建.repo文件,生成mongodb的源

    vi /etc/yum.repos.d/mongodb-org-4.0.repo
    
  2. 添加以下配置信息并保存(这里使用阿里云的源)

    [mngodb-org]
    name=MongoDB Repository
    baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.0/x86_64/
    gpgcheck=0
    enabled=1
    
  3. 使用yum安装MongoDB

    sudo yum install -y mongodb-org
    
  4. 验证安装结果

    rpm -qa |grep mongodb
    rpm -ql mongodb-org-server
    
  5. 启动MongoDB

    启动MongoDB服务

    systemctl start mongod.service
    

    MongoDB默认端口是27017,查看是否开启

    netstat -natp | grep 27017
    或
    lsof -i:27017
    

    检查数据库是否安装成功

    ps -aux | grep mongod
    

常用命令清单

// 1、开启MongoDB
sudo service mongod start  或者 systemctl start mongod.service  # 开启MongoDB
sudo chkconfig mongod on  # 加入开机启动
sudo service mongod restart # 重启MongoDB

// 2、关闭MongoDB
sudo service mongod stop  # 关闭防火墙

// 3、卸载MongoDB
sudo yum erase $(rpm -qa | grep mongodb-org)    # 卸载MongoDB
sudo rm -r /var/log/mongodb  # 删除日志文件
sudo rm -r /var/lib/mongo    # 删除数据文件

创建用户设置权限

连接数据库

mongo 127.0.0.1:27017

创建用户,设置账号,密码,权限

// admin数据库
> use admin
switched to db admin
> db.createUser({ user:"root", pwd:"123456", roles:["root"] })
Successfully added user: { "user" : "root", "roles" : [ "root" ] }

// 其他数据库
> use test
switched to db test
> db.createUser({ user:"admin", pwd:"123456", roles:["readWrite", "dbAdmin"] })
Successfully added user: { "user" : "root", "roles" : [ "root" ] }

修改mongodb.conf文件,启用身份验证

vi /etc/mongod.conf
# 添加以下内容
security:
  authorization: "enabled"   # disable or enabled
# 重启
sudo service mongod restart

接下来操作数据库就需要登录授权

use admin
> switched to db admin
db.auth("root", "123456")
> 1 // 授权成功

远程连接数据库

修改配置文件mongodb.conf,将bindIp修改为0.0.0.0(默认127.0.0.1只允许本地连接)

vi /etc/mongod.conf
# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0
   # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, ...

修改完重启服务

sudo service mongod restart

开放对外端口27017

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT

远程连接

mongo {ip}:27017/database -u username -p password

也可以通过客户端管理工具连接
https://blog.csdn.net/jhfyuf/article/details/86617663

Mongodb角色权限

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

参考文献

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值