1、MongoDB的安装
首先cd到目录
cd /usr/local/
执行下载
wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-7.0.7.tgz
解压文件
tar -xvf mongodb-linux-x86_64-rhel80-7.0.7.tgz
将解压后的“mongodb-linux-x86_64-rhel80-7.0.7”文件夹重命名为“mongodb”
接下来执行
cd mongodb #进入文件夹
接下来执行
mkdir data #放数据
mkdir logs #日志
mkdir etc #放配置文件
touch /usr/local/mongodb/logs/mongodb.log #具体的日志文件
touch /usr/local/mongodb/etc/mongod.conf
设置 MongoDB 环境变量,接下来执行
vi /etc/profile
添加如下代码
export PATH=$PATH:/usr/local/mongodb/bin
演示效果如下:
实时生效,接下来执行
source /etc/profile
演示效果如下:
编辑 MongoDB 配置文件
vi /usr/local/mongodb/etc/mongod.conf
添加如下内容
#指定数据库路径
dbpath=/usr/local/mongodb/data
#指定MongoDB日志文件
logpath=/usr/local/mongodb/logs/mongodb.log
# 使用追加的方式写日志
logappend=true
#端口号
port=27017
#方便外网访问,外网所有ip都可以访问,不要写成固定的linux的ip
bind_ip=0.0.0.0
fork=true # 以守护进程的方式运行MongoDB,创建服务器进程
#auth=true #启用用户验证
#bind_ip=0.0.0.0 #绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定则默认本地所有IP
启动和关闭 MongoDB
执行如下cd命令
cd /usr/local/mongodb/bin
接下来执行如下操作
#启动mongod --config /usr/local/mongodb/etc/mongod.conf
mongod --config /usr/local/mongodb/etc/mongod.conf --fork #后台进程运行
mongod -f /usr/local/mongodb/etc/mongod.conf#关闭
mongod --shutdown -f /usr/local/mongodb/etc/mongod.conf
执行后,提示以后错误信息
说明少了libcrypto.so.1.1,libcrypto.so.1.1是libcrypto.so.1.1里库,所以需要安装OpenSSL 1.1.x
请看文章 “OpenCloudOS Server 9 安装openssl 1.1.x-CSDN博客”。
2、MongoDB Shell 安装
执行如下命令
mongosh "mongodb://localhost:27017"
提示如下
说明未安装 MongoDB Shell,需要安装,执行如下命令下载
2.1 通过 RPM 包安装
wget - https://downloads.mongodb.com/compass/mongodb-mongosh-2.4.0.x86_64.rpm
安装 RPM 包:
sudo rpm -ivh mongodb-mongosh-2.4.0.x86_64.rpm
验证安装:
mongosh --version
提示如下错误
方案一:运行 mongosh
之前,设置以下环境变量:
export OPENSSL_CONF=/dev/null
启动 mongosh
mongosh
注: 这种方案不推荐
方案二:临时生效(当前终端会话):
export OPENSSL_CONF=/usr/local/openssl111/ssl/openssl.cnf
演示如下:
方案三:永久生效
将以下行添加到用户配置文件(如 ~/.bashrc
或 ~/.zshrc
):
export OPENSSL_CONF=/usr/local/openssl111/ssl/openssl.cnf
执行 source ~/.bashrc
使配置生效。
验证方法:
mongosh --version
2.2 通过压缩包安装
下载压缩包:
wget https://downloads.mongodb.com/compass/mongosh-<version>-linux-x64.tgz
解压压缩包:
tar -zxvf mongosh-<version>-linux-x64.tgz
将 mongosh
添加到系统路径:
sudo cp mongosh-<version>-linux-x64/bin/mongosh /usr/local/bin/
验证安装:
mongosh --version
3、MongoDB Database Tools安装
确认系统架构
uname -m
-
如果输出
x86_64
,表示系统是 64 位架构。 -
如果输出
aarch64
,表示系统是 ARM 架构。
选择适合 OpenCloudOS Server 9 的包
-
如果系统是
x86_64
,选择RHEL 9 x86_64
的 RPM 包。 -
如果系统是
aarch64
,选择RHEL 9 ARM64
的 RPM 包。
方法 1:通过 RPM 包安装
下载 RPM 包:
wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel90-x86_64-100.6.1.rpm
安装 RPM 包:
sudo rpm -ivh mongodb-database-tools-*.rpm
验证安装:
mongodump --version
输出示例:
mongodump version: 100.6.1
方法 2:通过压缩包安装
下载压缩包:
wget -c https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel93-x86_64-100.11.0.tgz
解压压缩包:
tar -zxvf mongodb-database-tools-*.tgz
将工具添加到系统路径:
export PATH=$PATH:/path/to/mongodb-database-tools/bin
验证安装:
mongodump --version
3、备份数据方法
mongodump --db yourdb --out /path/to/backup
具体应用的方法
mongodump --db light_api --out /Users/xiangzeping/Documents
4、恢复数据方法
mongorestore [options]
常用选项
- --dir <directory>:指定包含备份文件的目录。
- --archive <filename>:从单一的归档文件中恢复数据。
- --host <hostname>:指定 MongoDB 服务器的主机名或 IP 地址。
- --port <port>:指定 MongoDB 服务器的端口。
- --db <database>:指定要恢复的数据库名称。
- --collection <collection>:指定要恢复的集合名称。
- --gzip:从 gzip 压缩的备份文件中恢复数据。
- --drop:在恢复之前删除目标数据库中的现有数据。
- --authenticationDatabase <authdb>:指定认证数据库。
- --username <username>:指定用户名。
- --password <password>:指定密码。
对应的演示方法:
mongorestore --dir [备份文件] --db [数据库名称]
#演示方法
mongorestore --dir /Users/xiangzeping/Documents/16/light_api --db xzp
如果你的 MongoDB 服务器需要身份验证,可以使用 --username
和 --password
选项:
mongorestore --dir /backups/mongo --db restored_test --host localhost --port 27017 --username admin --password mypassword --authenticationDatabase admin
恢复特定集合
如果你只想恢复特定集合,可以使用 --collection
选项:
mongorestore --dir /backups/mongo --db test --collection users
恢复到单一文件
如果你之前使用 --archive
选项创建了单一的归档文件,可以使用以下命令恢复数据:
mongorestore --archive=/backups/mongo/test.archive
使用 gzip 压缩
如果你使用了 gzip 压缩备份文件,可以使用 --gzip
选项恢复数据:
mongorestore --dir /backups/mongo --db test --gzip
清空现有数据
如果你想在恢复数据之前清空目标数据库中的现有数据,可以使用 --drop
选项:
mongorestore --dir /backups/mongo --db test --drop