Mongodb在Linux下载安装及部署
前言
温馨提示
MongoDB版本:mongodb-linux-x86_64-rhel70-6.0.6
Linux系统版本:CentOS Stream 8
优点
Mongodb,非关系型数据库,也是文档数据库,性能优秀。
具有快速、高扩展性、自身的failover机制、json的存储格式的优点
适用场景
游戏场景:
使用Mongodb存储游戏用户信息,用户的装备,机分等直接以内嵌文档的形式存储,方便查询和更新。
物流场景:
使用Mongodb存储订单信息,订单状态在运送过程中会不断更新,以Mongodb内嵌数组的形式存储,一次查找就能把订单所有的变更读取出来。
社交场景:
使用Mongodb存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人,地点等功能。
下载安装包
安装及配置
博主下载的安装包是:mongodb-linux-x86_64-rhel70-6.0.6.tgz
- 新建目录
1
2
3
4
5
6
7
8进入 usr 文件夹
cd /usr
新建 mongodb 文件夹
mkdir mongodb
进入 mongodb 文件夹
cd mongodb - 将下载的
taz包
上传到Linux服务器,并解压到刚创建好的文件夹/usr/mongodb
中1
2解压安装包到该目录下
tar -xvf mongodb-linux-x86_64-rhel70-6.0.6.tgz -C /usr/mongodb - 进入
/usr/mongodb
1
cd /usr/mongodb
- 修改名称解压后的文件夹名称
mongodb-6.0.6
1
mv mongodb-linux-x86_64-rhel70-6.0.6 mongodb-6.0.6
- 进入解压后的文件夹中
1
cd mongodb-6.0.6
- 新建
Mongodb
结构- 创建
/data/db
文件夹存放数据1
2cd /usr/mongodb/mongodb-6.0.6
mkdir -p data/db - 创建
/log
文件夹存放日志1
2cd /usr/mongodb/mongodb-6.0.6
mkdir log - 创建
Mongodb.log
文件1
2cd log
touch mongodb.log
- 创建
- 创建
conf
文件夹存放配置文件1
2
3cd /usr/mongodb/mongodb-6.0.6
mkdir conf - 在
/conf
目录下创建Mongodb.conf
文件并编辑1
2
3
4
5cd /usr/mongodb/mongodb-6.0.6/conf
touch mongodb.conf
vi ../conf/mongodb.conf'mongodb.conf
内容如下1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24systemLog:
# MongoDB发送所有日志输出的目标指定为文件
# The path of the log file to which mongod or mongos should send all diagnostic logging information
destination: file
# mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径
path: "/usr/mongodb/mongodb-6.0.6/log/mongodb.log"
# 当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。
logAppend: true
storage:
# mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。
# The directory where the mongod instance stores its data.Default Value is "/data/db".
dbPath: "/usr/mongodb/mongodb-6.0.6/data/db"
journal:
#启用或禁用持久性日志以确保数据文件保持有效和可恢复。
enabled: true
processManagement:
#启用在后台运行mongos或mongod进程的守护进程模式。
fork: true
net:
# 服务实例绑定的IP,默认是localhost(多个ip用逗号分隔)
bindIp: 0.0.0.0
# bindIp
#绑定的端口,默认是27017
port: 27017 - 将mongodb添加添加进path
1
vi .bashrc
按 i 键进入可编辑模式,添加下面的变量
1
export PATH=/usr/mongodb/mongodb-6.0.6/bin:$PATH
按 ESC 键退出可编辑模式,输入命令
:wq
保存并退出配置完成以后,刷新一下
.bashrc
文件1
2
3cd
source .bashrc
启动服务
进入到 /bin
目录下 启动 Mongodb
1 | cd /usr/mongodb/mongodb-6.0.6/bin |
以配置文件的形式启动
1 | mongod -f ../conf/mongodb.conf |
启动成功!! 可以通过Navicat数据库连接工具
进行验证【Navicat中输入主机IP
、端口
直接测试】
如果启动的时候报错,请查看最后面的:异常报错 解决方案
关闭服务
- 方法一:
客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。
1
2
3
4mongod --port 27017
关闭服务
db.shutdownServer() - 方法二:
1
2
3
4
5
6通过进程编号关闭节点
ps -ef|grep mongod
kill -2 19886
强制杀死
pkill -9 mongod
用户密码验证服务
上述安装中并没有设置账号密码,所以默认是没有开启用户验证功能
- 使用admin数据库
1
use admin
- 查看当前所有用户
1
db.system.users.find()
- 设置用户名与密码
1
db.createUser({user:"用户名", pwd:"密码", roles:["root"]})
- 开启用户密码验证
修改mongodb.conf
中的配置,修改部分如下1
2security:
authorization: enabled - 重启
Mongodb
服务 - Navicat测试
根据设置的账号密码,配置主机
、端口
、验证方式(Password)
、用户名
、密码
如何卸载
- 在终端命令行中输入以下命令停止服务。
1
sudo service mongod stop
- 删除软件包。
1
sudo yum erase $(rpm -qa | grep mongodb-org)
- 将mongodb相关文件删除
1
2
3
4通过rm命令删除mongodb相关文件
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo
异常报错
问题1
执行 Mongodb 命令报错:-bash: mongod: command not found
报错原因
没有将可执行文件 添加至 path
解决方案
添加添加进path1
export PATH=/usr/mongodb/mongodb-6.0.6/bin:$PATH
问题2
启动报错:mongod: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
报错原因
可能是没有安装libcrypto.so.10
解决方案
查看 libcrypto.so.10
是否安装1
2
3rpm -qa | grep libcrypto.so
rpm -qa | grep libcrypt
执行完上面命令,没有找到 libcrypto.so.10
,就执行执行命令1
dnf install compat-openssl10
然后再次执行Mongodb的启动服务