ubuntu 安装 mongodb 教程(包括集群配置)

之前使用过的mongodb显然已经有些忘记了,使用公司环境搭建,发现在本地直接安装居然不会了,简单记录一下

版本:

        Ubuntu: Ubuntu 22.04 LTS   

lsb_release -a  #在Ubuntu上边查询系统的版本命令

        mongodb: 6.0.16

        mongodb的下载地址为: Download MongoDB Community Server | MongoDBicon-default.png?t=N7T8https://www.mongodb.com/try/download/community 具体版本需要自己进行选择,我的如下所示:

 安装:

常用的linux的存放位置:

        /usr/local/mongodb

下载好安装包后上传到对应的目录中:

sudo rz

#回车后,选择自己下载的安装包即可

 上传之后确认包已经在当前目录,然后进行解压:

sudo tar -zxvf mongodb-linux-x86_64-ubuntu2204-6.0.16.tgz

如下所示表示成功:

安装到这里基本上就可以使用了

附上mongodb的使用教程: 

Release Notes for MongoDB 6.0 - MongoDB Manual v6.0icon-default.png?t=N7T8https://www.mongodb.com/docs/v6.0/release-notes/6.0/        

 mongodb的简单配置:

基础路径的配置:

## 创建dbpath和logpath还有就是配置文件的路径

mkdir -p /etc/mongodb/data /etc/mongodb/log /etc/mongodb/conf

mongodb的启动:

bin/mongod --port=27017 --dbpath=/etc/mongodb/data --logpath=/etc/mongodb/log/mongodb.log --bind_ip=0.0.0.0 --fork

但是每次这样启动太麻烦了,另外还可以使用配置文件的方式,还需要配置linux的环境变量等一些列操作,这样后边集群也会很方便 

/etc/mongodb/conf/mongodb.conf 中的内容:

systemLog:
  destination: file
  path: /etc/mongodb/log/mongodb.log # log path
  logAppend: true
storage:
  dbPath: /etc/mongodb/data # data path
  engine: wiredTiger # 存储引擎
  journal:           # 是否启用journal日志   
    enabled: true
net:
  bindIp: 0.0.0.0
  port: 27017
processManagement:
  fork: true

注意一定要是 yml 的格式!! 

然后编辑配置文件:

vim /etc/profile

在文件的后边添加两行代码,指定mongodb的路径:

export MONGODB_HOME=/usr/local/mongodb/mongodb-linux-x86_64-ubuntu2204-6.0.16
export PATH=${MONGODB_HOME}/bin:${PATH}

 然后进行刷新:

source /etc/profile

 执行以下启动命令就可以了:

mongod -f mongodb.conf

 结果如图所示:

关闭命令:

mongod --port=27017 --dbpath=/etc/mongodb/data --shutdown

在客户端连接mongodb的命令:

# 连接mongodb server端
mongosh --host=你的IP地址 --port=27017 
# 或是
mongosh 你的IP地址:27017
# 亦或是指定uri方式连接
mongosh mongodb://你的IP地址:27017/test

设置密码:

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

设置了密码收我们还要重新启动mongodb,因为默认是不会启用鉴权的

mongod -f mongodb.conf --auth

启动之后使用windows客户端的mongosh软件应用进行连接:

mongodb://用户名:密码@IP地址:27017/admin

其中真正的格式应该是:<connection-string>是指向远程MongoDB服务器的连接字符串,它通常包含以下部分:

  • mongodb://: 这是协议前缀,表明连接类型。

  • <username>:<password>@: 可选的认证信息,如果服务器开启了用户认证。

  • <hostname>: 远程服务器的地址或域名。

  • :<port>: 可选的端口号,MongoDB默认端口是27017。

  • /<database-name>: 要连接的数据库的名字。

例如,如果你的远程MongoDB服务器地址是example.com,端口是27017,数据库名是mydb,用户名是user,密码是pass,你可以这样连接:

mongosh mongodb://user:pass@example.com:27017/mydb   在客户端使用时可以不带mongosh 这个命令

复制集环境的搭建:

        

环境准备

  • 安装 MongoDB并配置好环境变量
  • 确保有 10GB 以上的硬盘空间
  • 复制集的每个mongod进程应该位于不同的服务器。我们现在在一台机器上运行3个进程,因此要为它们各自配置:

  • 不同的端口(27017/27018/27019)
  • 不同的数据目录
  • 每一个配置文件中都配有各自的数据等地址:主要添加一行
  • replication:
      replSetName: rs0

    注意启动的时候将防火墙进行关闭,其他保持不变,

  • 都启动后,进入到其中一个执行如下命令

rs.initiate({ _id: "rs0", members: [{ _id: 0, host: "IP地址:27017" },{ _id: 1, host: "IP地址:27018" },{ _id: 2, host: "IP地址:27019" }] })

完成以上就可以启动了

注意当再次启动的时候,如果还要权限验证可以使用以下方式:

keyFile文件的作用: 集群之间的安全认证,增加安全认证机制KeyFile(开启keyfile认证就默认开启了auth认证了)。

在对应的文件下生成一个文件

openssl rand -base64 756 > data/mongo.key

将这个文件chmod 600 mongo.key 设置权限

然后将这个文件复制到其他两个文件

启动时使用: 

mongod -f mongodb.conf --keyFile ../data/mongo.key

这样就可以添加权限的启动了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值