Mongodb安装及性能测试
1. MongoDB介绍
MongoDB是一个开源的、基于分布式文件存储的NoSQL数据库系统。它使用文档存储方式,数据结构由键值(key-value)对组成,与传统的关系型数据库不同,MongoDB的文档模型具有灵活的模式(schema),这使得它非常适合处理复杂的数据结构。MongoDB支持自动分片(sharding)和复制集(replica set),从而实现高可用性和可扩展性。
2. MongoDB安装
MongoDB可以在多种操作系统上安装,包括Linux、macOS和Windows。
2.1 CentOS下安装
下面记录CentOS7下安装MongoDB4.0:
# 添加yum源
$ cd /etc/yum.repos.d/
$ sudo vi mongodb.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
# 安装Mongodb
$ sudo yum makecache
$ sudo yum install mongodb-org
此命令将安装mongodb-org,包含以下内容:
- mongodb-org-server: 标准的MongoDB服务端程序(既守护程序),以及相应的init脚本和配置
- mongodb-org-mongos: MongoDB Shard集群服务端程序(守护进程)
- mongodb-org-shell: MongoDB shell,用于通过命令行与MongoDB交互
- mongodb-org-tools: 包含一些用于恢复,导入和导出数据的基本工具,以及其他各种功能
启动并设置开机自启动:
$ sudo systemctl start mongod
$ sudo systemctl enable mongod
$ sudo systemctl status mongod
2.2 Ubuntu下安装
- 导入公共GPG密钥
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
- 创建MongoDB源列表文件
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
- 更新包列表
sudo apt-get update
- 安装MongoDB
sudo apt-get install -y mongodb-org
- 启动MongoDB服务
sudo systemctl start mongod
- 设置MongoDB在系统启动时自动启动
sudo systemctl enable mongod
2.3 macOS下安装
- 使用Homebrew安装
brew tap mongodb/brew
brew install mongodb-community@6.0
- 启动MongoDB服务
brew services start mongodb/brew/mongodb-community
2.4 在Windows上安装MongoDB
-
下载MongoDB:从MongoDB官方网站下载最新的MongoDB安装包。
-
运行安装程序:按照安装向导的指示进行安装,选择“Complete”安装。
-
配置MongoDB:完成安装后,可以通过命令行启动MongoDB服务
"C:\Program Files\MongoDB\Server\6.0\bin\mongod.exe" --dbpath="C:\data\db"
2. 配置MongoDB
2.1 开启访问控制
以CentOS环境下为例,配置文件位于/etc/mongod.conf
,YAML格式,根据需求按需修改。其中security修改如下,启用基于角色的访问控制:
security:
authorization: enabled
每次修改配置文件后需要重启mongod
服务。
2.2 修改用户限制
sudo vi /etc/security/limits.conf
# 加入如下内容
mongod soft nofiles 64000
mongod soft nproc 64000
2.3 创建测试的数据库和用户
默认情况下,MongoDB 是没有管理员账户的,当开启认证后需要在 admin 数据库
中使用 db.createUser()
命令添加管理员帐号或其他角色。
# 打开mongo shell
$ mongo
# 创建管理员账号
> use admi