Linux 安装 MongoDB
服务器环境: Linux Centos 7 (Red Hat)
一、官网下载

- 选择下载的 mongodb 版本,对应的 linux 和打包方式

二、Linux 安装
2.1 安装部署
- tar 解压
# 解压到指定的路径
[root@linux-1 ~]# tar -zxvf mongodb-linux-x86_64-rhel70-5.0.18.tgz -C /usr/local/
# 重命名
[root@linux-1 local]# mv mongodb-linux-x86_64-rhel70-5.0.18/ mongodb
- 创建数据目录
# 在/data/下创建mongodb
[root@linux-1 data]# mkdir mongodb
[root@linux-1 data]# ls
mongodb mysql redis
- 创建日志目录
# 在/usr/local/mongodb下创建logs
[root@linux-1 mongodb]# mkdir logs
[root@linux-1 mongodb]# ls
bin LICENSE-Community.txt logs MPL-2 README THIRD-PARTY-NOTICES
- 配置环境变量
# 修改系统文件 vim /etc/profile
[root@linux-1 ~]# vim /etc/profile
# 末尾添加
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
#执行source命令使修改之后的配置生效
[root@linux-1 ~]# source /etc/profile
2.2 初始化
方式一:参数启动
- 无配置文件启动
[root@linux-1 bin]# ./mongod --port=27017 --dbpath=/mongodb/data --logpath=/mongodb/log/mongodb/log --bind_ip=0.0.0.0 --fork
# --dbpath:指定数据文件存放目录
# --logpath:指定日志文件,指定的是文件不是目录
# --logappend:使用追加的方式记录日志
# --port:指定端口,默认27017
# --bind_ip:默认只监听localhost网卡
# --fork:后台启动
# --auth:开启认证模式
方式二:配置文件启动
- 创建 mongodb 配置文件
# 在 /usr/local/mongodb 下创建 conf目录
[root@linux-1 mongodb]# mkdir conf
[root@linux-1 mongodb]# ls
bin conf LICENSE-Community.txt logs MPL-2 README THIRD-PARTY-NOTICES
# 在 conf 目录下创建 mongod.conf 配置文件
- mongod.conf
systemLog:
# 可以指定为表述输出到日志文件,指定 “file” 或者“syslog”。如果指定 file,则还必须指定systemLog.path
destination: file
# 日志路径
path: /usr/local/mongodb/logs/mongod.log
# 当为true时,mongos或mongod实例重新启动时,会在现有日志文件的末尾添加新条目。如果没有此选项,mongod将备份现有日志并创建一个新文件。
logAppend: true
storage:
# 数据目录
dbPath: /data/mongodb
# 启用或禁用耐久性日志以确保数据文件保持有效和可恢复,当指定dbPath时使用(默认true)
journal:
enabled: true
# 数据库存储引擎 默认wiredTiger
engine: wiredTiger
wireTiger:
engineConfig:
cacheSizeGB: 12
processManagement:
# 启用后台运行
fork: true
# 指定mongod的进程文件,通常与fork结合使用
pidFilePath: /usr/local/mongodb/mongod.pid
# Linux和macOS软件包附带的配置文件将时区数据库路径默认设置为/usr/share/zoneinfo。
timeZoneInfo: /usr/share/zoneinfo
net:
# 27017 for mongod (if not a shard member or a config server member) or mongos instance
port: 27017
bindIp: 0.0.0.0
security:
# 启用或禁用基于角色的访问控制(RBAC),以管理每个用户对数据库资源和操作的访问。
authorization: enabled
# 启用或禁用服务器端JavaScript执行。禁用时,不能使用执行JavaScript代码的服务器端执行的操作,如$where查询运算符、mapReduce命令、$accumulator和$函数。
javascriptEnabled: false
- 启动关闭mongodb
# 启动方式:
[root@linux-1 ~]# /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongod.conf
[root@linux-1 ~]# /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongod.conf
# 关闭方式:
[root@linux-1 ~] # /usr/local/mongodb/bin/mongod --shutdown --dbpath /data/mongodb
[root@linux-1 ~] # /usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/conf/mongod.conf
- 创建用户
# 进入 /usr/local/mongodb/bin/ 目录下
[root@linux-1 bin]# cd /usr/local/mongodb/bin
# 使用 mongo 客户端连接
[root@linux-1 bin]# mongo
MongoDB shell version v5.0.18
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8c2717c2-41bd-48ce-8d83-4e4e7208ac04") }
MongoDB server version: 5.0.18
================
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/
================
#切换admin库
> use admin
# 创建一个用户,该用户拥有最高权限
> db.createUser({user: "root",pwd: "mongodb213465",roles: ["root"]})
#创建mydb这个库,并添加具有读写访问权限的用户帐户:
> use mydb
> db.createUser({user: "用户名",pwd: "用户密码",roles: ["readWrite"]})
#删除一个用户的方法
> use admin
> show users
#根据id删除用户:
> db.system.users.remove({_id:"XXX.XXX"})
#根据用户名删除用户:
> db.system.users.remove({user:"XXXXXX"})
- 用户登录
> use admin
switched to db admin
> db.auth("root","mongodb213465")
2.3 Navicat 连接测试
使用 navicat 连接 mongodb 数据库, 服务器的防火墙和安全组记得开放 27017 端口

mongodb相关路径
数据库目录: /daexita/mongodb
日志目录: /usr/local/mongodb/mongod.log
进程文件: /usr/local/mongodb/mongod.pid
配置文件:/usr/local/mongodb/conf/mongod.conf
服务程序: /usr/local/mongodb/bin/mongod
客户程序: /usr/local/mongodb/bin/mongo
登录用户:root 密码:mongodb213465
2336

被折叠的 条评论
为什么被折叠?



