• -------------------------------------------------------------
  • ====================================

Centos7下yum安装mongodb

大数据库 dewbay 5年前 (2019-05-22) 2851次浏览 已收录 0个评论 扫描二维码

阅读目录

回到顶部

Centos7 下 yum 安装 mongodb

简介

  • MongoDB 是一个基于分布式 文件存储的 NoSQL 数据库
  • 由 C++语言编写,运行稳定,性能高
  • 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案
  • 查看官方网站

MongoDB 特点

  • 模式自由 :可以把不同结构的文档存储在同一个数据库里
  • 面向集合的存储:适合存储 JSON 风格文件的形式
  • 完整的索引支持:对任何属性可索引
  • 复制和高可用性:支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目的是提供冗余及自动故障转移
  • 自动分片:支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器
  • 丰富的查询:支持丰富的查询表达方式,查询指令使用 JSON 形式的标记,可轻易查询文档中的内嵌的对象及数组
  • 快速就地更新:查询优化器会分析查询表达式,并生成一个高效的查询计划
  • 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)

Packages 包说明

MongoDB 官方源中包含以下几个依赖包:
mongodb-org: MongoDB 元数据包,安装时自动安装下面四个组件包:
1.mongodb-org-server: 包含 MongoDB 守护进程和相关的配置和初始化脚本。
2.mongodb-org-mongos: 包含 mongos 的守护进程。
3.mongodb-org-shell: 包含 mongo shell。
4.mongodb-org-tools: 包含 MongoDB 的工具: mongoimport, bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop。

安装步骤

1.配置 MongoDB 的 yum 源

Centos7下yum安装mongodb
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=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc #这里可以修改 gpgcheck=0, 省去 gpg 验证
[root@localhost ~]# yum makecache

Centos7下yum安装mongodb

2.安装 MongoDB

安装命令:

yum -y install mongodb-org

安装完成后

Centos7下yum安装mongodb
已安装:
  mongodb-org.x86_64 0:3.4.14-1.el7

作为依赖被安装:
  mongodb-org-mongos.x86_64 0:3.4.14-1.el7          mongodb-org-server.x86_64 0:3.4.14-1.el7
  mongodb-org-shell.x86_64 0:3.4.14-1.el7           mongodb-org-tools.x86_64 0:3.4.14-1.el7

完毕!

[root@adminset yum.repos.d]

#

Centos7下yum安装mongodb

查看 mongo 安装位置 :

whereis mongod

查看修改配置文件 :

 vim /etc/mongod.conf

3.启动 MongoDB 


启动 mongodb :

systemctl start mongod.service

停止 mongodb :

systemctl stop mongod.service

查到 mongodb 的状态:

systemctl status mongod.service

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

关闭 firewall:

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

5.启动 Mongo shell

命令:

mongo 

查看数据库:

show dbs

6.设置 mongodb 远程访问:

编辑 mongod.conf 注释bindIp,并重启 mongodb.(这句配置代表只能本机使用,所以需注释)

vim /etc/mongod.conf

重启 mongodb 使修改生效:

systemctl restart mongod.service

到这里就可以正常使用 mongodb 了

 1.开启认证

   MongoDB 默认安装完成以后,只允许本地连接,同时不需要使用任何账号密码就可以直接连接 MongoDB,这样就容易被黑,让支付一些比特币,所以为了避免这些不

必要的麻烦,所以我们需要给 Mongo 设置一个账号密码;

[root@iZ2ze2pbbffhmn53ao4tuaZ bin]# ./mongod --auth  # 启用认证

  2.创建管理员用户

> use admin
switched to db admin
> db.createUser({user:"admin",pwd:"password",roles:["root"]})
Successfully added user: { "user" : "admin", "roles" : [ "root" ] }

  3.认证登录

> db.auth("admin", "password")

  4.MongoDB role 类型

  • 数据库用户角色(Database User Roles)

    read:授予 User 只读数据的权限
    readWrite:授予 User 读写数据的权限

  • 数据库管理角色(Database Administration Roles):

    dbAdmin:在当前 dB 中执行管理操作
    dbOwner:在当前 DB 中执行任意操作
    userAdmin:在当前 DB 中管理 User

  • 备份和还原角色(Backup and Restoration Roles):

    backup
    restore

  • 跨库角色(All-Database Roles):

    readAnyDatabase:授予在所有数据库上读取数据的权限
    readWriteAnyDatabase:授予在所有数据库上读写数据的权限
    userAdminAnyDatabase:授予在所有数据库上管理 User 的权限
    dbAdminAnyDatabase:授予管理所有数据库的权限

  • 集群管理角色(Cluster Administration Roles):

    clusterAdmin:授予管理集群的最高权限
    clusterManager:授予管理和监控集群的权限,A user with this role can access the config and local databases, which are used in sharding and replication, respectively.
    clusterMonitor:授予监控集群的权限,对监控工具具有 readonly 的权限
    hostManager:管理 Server

  5.添加数据库用户

> use flowpp
switched to db flowpp
> db.createUser({user: "flowpp", pwd: "flopww", roles: [{ role: "dbOwner", db: "flowpp" }]})   # 创建用户 flowpp,设置密码 flopww,设置角色 dbOwner

  6.查看系统用户

Centos7下yum安装mongodb
> use admin
switched to db admin
> db.system.users.find()  # 显示当前系统用户
{ "_id" : "admin.admin", "user" : "admin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "9jXmylyRAK22TZmzv1Thig==", "storedKey" : "z76cVrBjX/CTFmn5RujtU+dz7Nw=", "serverKey" : "JQGonM84iDMI1nIXW7FdyOE55ig=" } }, "roles" : [ { "role" : "root", "db" : "admin" } ] }
{ "_id" : "flowpp.flowpp", "user" : "flowpp", "db" : "flowpp", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "KvocqWZA9E2tXBHpKpdAeQ==", "storedKey" : "50Kxc3LEgCSVN1z16S8g4A6jVp8=", "serverKey" : "0RSnsxd/7Yzmqro/YOHf/kfbHCk=" } }, "roles" : [ { "role" : "dbOwner", "db" : "flowpp" } ] }
Centos7下yum安装mongodb

  7.删除用户

Centos7下yum安装mongodb
1.切换 admin ,删除用户 flowpp ,删除失败
> use admin switched to db admin > db.dropUser("flowpp") false
2.切换 flowpp ,删除用户 flowpp,删除成功 > use flowpp switched to db flowpp > db.dropUser("flowpp") true
Centos7下yum安装mongodb

说明:

  删除用户的时候需要切换到用户管理的数据库才可以删除;

在云服务器中安装 MongoDB 后(默认端口 27017),发现本地 telnet 该端口连接失败,无法连接远程的 MongoDB,解决方法如下。

1、查看原先的 mongodb 配置文件:

dbpath=C:\tableSpace_MongoDB\data
logpath=C:\tableSpace_MongoDB\log\mongodb.log
发现没有指定 bind_ip,会导致 mongodb 默认绑定为 127.0.0.1,导致外部无法访问。

2.修改 mongodb 配置文件如下:

bind_ip=0.0.0.0
port=27017
dbpath=C:\tableSpace_MongoDB\data
logpath=C:\tableSpace_MongoDB\log\mongodb.log
3.重启 mongodb 服务。

4.再次测试,发现 telnet 该端口成功,可以进行远程连接。

作者:WangCw 的夏天
来源:CSDN
原文:https://blog.csdn.net/qq_33404395/article/details/80566760
版权声明:本文为博主原创文章,转载请附上博文链接!


露水湾 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Centos7下yum安装mongodb
喜欢 (0)
[]
分享 (0)
关于作者:
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址