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

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

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

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

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

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

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

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

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

sysctl vm.nr_hugepages
vm.nr_hugepages = 0

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

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了。

mongod -f /etc/mongo.cnf &
[1] 29883

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

security:
  authorization: enabled
[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/
================
>

Austindatabases 公众号,主要围绕数据库技术(PostgreSQL, MySQL, Mongodb, Redis, SqlServer,PolarDB, Oceanbase 等)和职业发展,国外数据库大会音译,国外大型IT信息类网站文章翻译,等,希望能和您共同发展。