centos7搭建MongoDB以及MongoDB复制集

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: centos7搭建MongoDB以及MongoDB复制集

搭建mongodb

这里直接将的是搭建mongodb的复制集,一主两从

1️⃣:下载mongodb4.2.23并解压缩到任意目录下

#这里可以是你服务器的任意目录
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.23.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-4.2.23.tgz

2️⃣:创建相关文件夹

mkdir -p /home/M/mongodb/data/db{1,2,3}

3️⃣:编写配置文件

systemLog:
  destination: file
  path: /home/M/mongodb/data/db1/mongodb.log   #log path
  logAppend: true
storage:
  dbPath: /home/M/mongodb/data/db1  #data directory
net:
  bindIp: 0.0.0.0
  port: 28817 #port
security:
  authorization: enabled
  keyFile: /home/M/mongodb/mongo.key
replication:
  replSetName: rs0
processManagement:
  fork: true

这里的keyFile文件主要是秘钥,可以使用如下命令生成

openssl rand -base64 90 -out ./mongo.key

这里配置文件分别置于db{1,2,3}下

4️⃣:编辑/ect/profile文件,末尾加入如下语句

export PATH=$PATH:/home/M/mongodb-linux-x86_64-rhel70-4.2.23/bin
#保存退出后执行如下命令
source /etc/profile

5️⃣:执行如下命令配置复制集

mongo 10.0.4.7:28817
rs.config({_id:"rs0",members:[{_id:0,host:"127.0.0.1:28817"},{_id:1,host:"127.0.0.1:28818"},{_id:2,host:"127.0.0.1:28819"}]})
#这里切记登录别用自己的hostname,否则外部是不能访问的,如果想外部访问用外网ip,另外如果是单机的话内网ip也行

6️⃣:设计账号密码并在主节点配置权限

use admin
db.createUser({ user:'admin',pwd:'bkwEtSrIA3EXQWgo',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
db.auth('admin','bkwEtSrIA3EXQWgo')
db.grantRolesToUser( "admin" , [ { role: "dbOwner", db: "admin" },{ "role": "clusterAdmin", "db": "admin" },
{ "role": "userAdminAnyDatabase", "db": "admin" },
{ "role": "dbAdminAnyDatabase", "db": "admin" }])
#创建root用户
db.createUser({user:"root",pwd:"bYBBkcZkliadV6M6",roles:[{role:"root",db:"admin"}]});
#赋予root用户操作命令的权限,不然会提示报错没有权限
Error: error: {
        "operationTime" : Timestamp(1670313676, 1),
        "ok" : 0,
        "errmsg" : "not authorized on base_bo to execute command { find: \"test\", filter: {}, lsid: { id: UUID(\"39276352-9b03-48b7-8586-44d7b7714e32\") }, $clusterTime: { clusterTime: Timestamp(1670313666, 1), signature: { hash: BinData(0, B91D68894743B2DFE5C5BA0AA4B8E5F23741B0E3), keyId: 7173561399774281733 } }, $db: \"base_bo\" }",
        "code" : 13,
        "codeName" : "Unauthorized",
        "$clusterTime" : {
                "clusterTime" : Timestamp(1670313676, 1),
                "signature" : {
                        "hash" : BinData(0,"VYwnvDNG39YupihA7Jsri923qE8="),
                        "keyId" : NumberLong("7173561399774281733")
                }
        }
}
db.grantRolesToUser ( "root", [ { role: "__system", db: "admin" } ] )

另外给大家安利一个软件,具体页面如下,它的功能很强大

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
8月前
|
NoSQL MongoDB
MongoDB-复制集搭建
在安装目录下新建 data/conf/log 3个文件夹,在conf文件夹下新建 mongo.config,在mongo.config中配置如下内容:
59 0
|
2月前
|
NoSQL 应用服务中间件 Linux
CentOS7搭建MySQL+Redis+MongoDB+FastDF
CentOS7搭建MySQL+Redis+MongoDB+FastDF
138 0
|
8月前
|
数据库
MongoDB-复制集投票节点
?> 投票节点就是不保存任何数据, 只参与投票的节点
49 0
|
3月前
|
NoSQL 安全 Linux
百度搜索:蓝易云【CentOS7安装MongoDB教程】
这些是在CentOS 7上安装MongoDB的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
132 0
|
5月前
|
监控 NoSQL MongoDB
轻松掌握组件启动之MongoDB(番外篇):高可用复制集架构环境搭建-mtools
mtools是一个基于Python实现的MongoDB工具集,旨在提供一系列功能,包括MongoDB日志分析、报表生成以及简易的数据库安装等。它由MongoDB原生的工程师单独发起并进行开源维护。mtools包含了一些常用的组件,如mlaunch、mlogfilter、mplotqueries和mlogvis等,可以帮助我们更方便地启动和创建MongoDB数据库。
|
5月前
|
监控 NoSQL 安全
轻松掌握组件启动之MongoDB(下):高可用复制集架构环境搭建
本章介绍了MongoDB复制集的配置和使用方法,如何初始化和添加节点到复制集,验证主节点的写入和从节点的读取功能。了解如何查询复制集的状态,包括成员的健康状况、同步信息和角色等。最后,我们介绍了如何配置复制集的安全认证,包括创建用户和生成keyFile文件,并演示了使用认证信息连接复制集的方式。通过本章的学习,你将掌握MongoDB复制集的基本使用和配置方法。
|
5月前
|
存储 NoSQL 容灾
轻松掌握组件启动之MongoDB(上):高可用复制集架构环境搭建
本文介绍了MongoDB复制集的架构和特点,强调了使用复制集提供数据的高可用性和冗余性的重要性。复制集由Primary节点和Secondary节点组成,确保数据一致性。复制集还具有数据分发、读写分离和异地容灾等附加功能。使用MongoDB复制集可以提供稳定可靠的数据存储和高可用性。
轻松掌握组件启动之MongoDB(上):高可用复制集架构环境搭建
|
6月前
|
NoSQL Linux MongoDB
百度搜索:蓝易云【如何在 RHEL 8 或者 CentOS 8 上安装 MongoDB?】
以上是在RHEL 8或CentOS 8上安装MongoDB的基本步骤。安装完成后,您可以使用MongoDB的客户端工具连接到MongoDB服务器,并开始使用它进行数据库操作。希望这些步骤能够帮助您在RHEL 8或CentOS 8上成功安装MongoDB。
64 0
|
1月前
|
NoSQL 网络协议 MongoDB
Windows公网远程连接MongoDB数据库【无公网IP】
Windows公网远程连接MongoDB数据库【无公网IP】
|
1月前
|
存储 NoSQL 关系型数据库
一篇文章带你搞懂非关系型数据库MongoDB
一篇文章带你搞懂非关系型数据库MongoDB
55 0