下载
官网:https://www.mongodb.com/
下载地址:https://www.mongodb.com/try/download/community
1. 安装
将资源上传至服务器 /root ,解压至 /usr/local 并重命名为 mongodb
# 解压 mongodb 至指定目录
tar -zxvf /root/mongodb-linux-x86_64-rhel70-4.4.1.tgz -C /usr/local/
# 重命名解压目录为 mongodb
mv /usr/local/mongodb-linux-x86_64-rhel70-4.4.1/ /usr/local/mongodb
创建用于存放数据和日志的文件夹,并修改其权限增加读写权限。
# 创建存放数据的目录
mkdir -p /home/mongodb/data/db
# 创建存放日志的目录
mkdir -p /home/mongodb/logs
# 创建日志记录文件
touch /home/mongodb/logs/mongodb.log
2. 环境变量
每次操作 MongoDB 都需要进入具体的目录才行,比如启动服务,客户端进行连接等,可不可以在任意目录都能进行操作。答案当然是可以的,只需要将 MongoDB 相关目录添加至系统环境变量即可。
修改/etc/profile 编辑系统环境变量文件,添加以下内容:
# 添加环境变量
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
source /etc/profile 重新加载系统环境变量
3. 启动
1)前台启动
MongoDB 的默认启动方式为前台启动。所谓的前台启动就是 MongoDB 启动进程后会占用当前的终端窗口。
前台启动
mongod --dbpath /usr/local/mongodb/data/db/ --logpath /usr/local/mongodb/logs/mongodb.log --logappend --port 27017 --bind_ip 0.0.0.0
说明:
--dbpath :指定数据文件存放目录
--logpath :指定日志文件,注意是指定文件不是目录
--logappend :使用追加的方式记录日志
--port :指定端口,默认为 27017
--bind_ip :绑定服务 IP,若绑定 127.0.0.1,则只能本机访问,默认为本机地址
前台启动就是以守护进程的方式启动 MongoDB。命令中添加 --fork 即可
后台启动
mongod --dbpath /usr/local/mongodb/data/db/ --logpath /usr/local/mongodb/logs/mongodb.log --logappend --port 27017 --bind_ip 0.0.0.0 --fork
配置文件启动
/home/mongodb目录下增加一个 mongodb.conf 配置文件
# 数据文件存放目录
dbpath = /home/mongodb/data/db
# 日志文件存放目录
logpath = /home/mongodb/logs/mongodb.log
# 以追加的方式记录日志
logappend = true
# 端口默认为 27017
port = 27017
# 对访问 IP 地址不做限制,默认为本机地址
bind_ip = 0.0.0.0
# 以守护进程的方式启用,即在后台运行
fork = true
启动
# 指定配置文件的方式启动服务
mongod -f /home/mongodb/mongodb.conf
4.关闭服务
使用 --shutdown 参数即可关闭。
# 命令启动方式的关闭
mongod --dbpath /home/mongodb/data/db/ --logpath /home/mongodb/logs/mongodb.log --logappend --port 27017 --bind_ip 0.0.0.0 --fork --shutdown
# 配置文件启动方式的关闭
mongod -f /home/mongodb/mongodb.conf --shutdown
函数关闭
连接到 MongoDB 服务后,切换到 admin 数据库,并使用相关函数关闭服务。
mongo
# 切换 admin 数据库
use admin
# 执行以下函数(2选1)即可关闭服务
db.shutdownServer()
db.runCommand("shutdown")
5.客户端访问
可以通过 bin 目录中的 mongo 来访问 MongoDB 服务器。
命令为:mongo --host 连接的主机地址(默认127.0.0.1) --port 端口(默认27017)
help 帮助命令。
db.version() 查看版本信息。
show dbs 查看所有数据库。
[root@localhost conf]# mongo --host 127.0.0.1 --port 27001
MongoDB shell version v3.4.24-4-g68fadc9173
connecting to: mongodb://127.0.0.1:27001/
MongoDB server version: 3.4.24-4-g68fadc9173
>
> use admin
switched to db admin
>
> show users;
2022-08-14T10:59:22.643+0800 E QUERY [thread1] Error: not authorized on admin to execute command { usersInfo: 1.0 } :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.getUsers@src/mongo/shell/db.js:1539:1
shellHelper.show@src/mongo/shell/utils.js:797:9
shellHelper@src/mongo/shell/utils.js:704:15
@(shellhelp2):1:1
> exit
bye
[root@localhost conf]# mongo --host 127.0.0.1 --port 27001
MongoDB shell version v3.4.24-4-g68fadc9173
connecting to: mongodb://127.0.0.1:27001/
MongoDB server version: 3.4.24-4-g68fadc9173
> use admin
switched to db admin
> db.auth('admin','12#qweASD')
1
> show users
{
"_id" : "admin.admin",
"userId" : BinData(4,"Ty65J4J9TPy5ySYrUrxdyQ=="),
"user" : "admin",
"db" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}