前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB 入门教学贴 单机的安装与设置 (内部培训贴)

MongoDB 入门教学贴 单机的安装与设置 (内部培训贴)

作者头像
AustinDatabases
发布2024-07-04 12:34:14
1170
发布2024-07-04 12:34:14
举报
文章被收录于专栏:AustinDatabases

(这是一个MongoDB 初级教学系列,其中会包含MongoDB 的各种初级知识,帮助小白进入MongoDB的世界,这是第一期)其他的部分已经在路上

本来是非常不屑,MongoDB 单机安装的,但没有办法基于某些场景需要用MongoDB 来做测试,而成本的因素就要使用到单机,所以单机的安装在某些场合是有用切必要的。

单机安装相对复制集和分片来说是简单的,这里做一个简单的介绍和安装的步骤,方便初学者建立测试环境。

首先一般的情况下,我们还是使用Community server 在写这篇文章的时候,最低可以被下载的MongoDB 已然到了5.0。选择正确的方式,比如如果想灵活的安装和自行设置相关的配置文件和目录,则需要使用 tgz格式的文件方式。

https://www.mongodb.com/try/download/community-kubernetes-operator

需要注意的是,在使用MongoDB的时候要关闭你本身的Linux系统的hugepages 的部分。通过下面的命令将操作系统中的大页关闭,这里注意以下命令需要跟从于你使用的操作系统,并不是每个系统都是下面的命令。同时建议MongoDB的数据库磁盘系统使用

echo never > /sys/kernel/mm/transparent_hugepage/enabled

代码语言:javascript
复制
sysctl vm.nr_hugepages
vm.nr_hugepages = 0

剩下的就是配置目录和对配置文件进行设置了,这里并没有唯一的答案,以下操作仅根据当前的练习作为一个“标准”。

代码语言:javascript
复制
systemLog:
  destination: file
  path: /mongodata/log/mongod.log
  logAppend: true
storage:
  dbPath: /mongodata/data
  journal:
    enabled: true
  engine: wiredTiger
  wiredTiger:
    engineConfig:
      cacheSizeGB: 7
net:
  port: 2608X
  bindIp: XXX.XXX.XXX.XXX
security:
  authorization: enabled
  #authorization: disabled

上面的配置文件中规中矩,基本配合大部分4.X版本更高的版本都可以作为配置文件,这里要注意的是

1 cacheSizeGB

2 port 3 bindIp

4 authorization

5 dbPath

6 path

等部分是根据你实际的需求和情况进行设置的,而不是固定的,这里需要注明的是 authorization: 如果不需要单机进行用户登录输入密码,而是用免密的方式. 在设置cacheSizeGB 的情况下,根据实际的内存情况去配置,将内存配置为整体内存的50% ,如果系统中存在其他的应用程序,应将应用程序使用的内存排除后,在进行剩余内存/2 在写入到cacheSizeGB

然后再解压了MongoDB的执行文件到你指定的目录后,就可以尝试启动MongoDB了。

代码语言:javascript
复制
mongod -f /etc/mongo.cnf &
[1] 29883

启动数据库后请先加入用户,通过建立用户的命令建立最大的 root role 的账号到系统中,然后关闭数据库,在将security: 中的 authorizaiton: enabled 设置后,在启动数据库,整体的安装就结束了。

代码语言:javascript
复制
security:
  authorization: enabled
代码语言:javascript
复制
[mongo@q]$ mongo mongodb://admin:@xxx.xxx.xxx.xxx:260xx/admin
MongoDB shell version v5.0.27
Enter password: 
connecting to: mongodb://xxx.xxx.xxx.xxxx:260xx/admin?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("2b3eb8ff-77f7-45b4-b782-4a9d99da1883") }
MongoDB server version: 5.0.27
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
> 
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档