更新软件源
sudo apt-get update
添加MongoDB的官方存储库
注:本文章安装MongoDB-7.0。
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -
将地址添加到系统的软件包源列表中
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
更新软件源
sudo apt-get update
安装MongoDB
sudo apt install mongodb-org
启动服务
systemctl start mongod
查看MongoDB状态
systemctl status mongod
看到activate即启动成功
进入Mongo-Shell
mongosh
测试MongoDB
show dbs # 展示数据库
无报错则输出数据库名
进入下载链接选择MongoDB版本下载
https://www.mongodb.com/try/download/community
注:本文章下载mongodb-linux-x86_64-ubuntu2004-7.0.4.tgz
解压文件到指定目录
tar -xvf mongodb-linux-x86_64-ubuntu2004-7.0.4.tgz -C /usr/local
进入解压后的目录
cd /usr/local/mongodb-linux-x86_64-ubuntu2004-7.0.4
查看版本
bin/mongod -version
输出版本信息即正常,可能报错:bin/mongod: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
报错原因是缺少libcurl4依赖库,安装即可。
sudo apt-get install libcurl4-openssl-dev
创建数据目录和日志目录
mkdir -p /usr/local/mongodb-linux-x86_64-ubuntu2004-7.0.4/db
mkdir -p /usr/local/mongodb-linux-x86_64-ubuntu2004-7.0.4/log/mongodb
创建 MongoDB 配置文件
sudo vim /etc/mongod.conf
配置文件内容
storage:
dbPath: /usr/local/mongodb-linux-x86_64-ubuntu2004-7.0.4/db
systemLog:
destination: file
path: /usr/local/mongodb-linux-x86_64-ubuntu2004-7.0.4/log/mongodb/mongod.log
logAppend: true
net:
bindIp: 127.0.0.1
port: 27017
创建系统服务文件
sudo vim /etc/systemd/system/mongod.service
系统文件内容
Description=mongodb-server
After=network.target
# 服务运行参数的设置
[Service]
ExecStart=/usr/local/mongodb-linux-x86_64-ubuntu2004-7.0.4/bin/mongod --config /etc/mongod.conf
# 保存MongoDB进程ID的文件路径
PIDFile=/var/run/mongodb/mongod.pid
# 将MongoDB进程的标准输出发送到系统日志
StandardOutput=syslog
# 将MongoDB进程的标准错误输出也发送到系统日志
StandardError=syslog
# 设置MongoDB进程在系统日志中的标识符
SyslogIdentifier=mongodb
# 指定了MongoDB进程的重启策略。always表示无论以何种方式退出,系统都会自动尝试重>新启动MongoDB进程
Restart=always
# 运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别
[Install]
WantedBy=multi-user.target
重新刷新系统服务
systemctl daemon-reload
启动服务
systemctl start mongod
查看MongoDB状态
systemctl status mongod
看到activate即启动成功
安装Mongo-Shell
进入下载链接选择Mongo-Shell版本下载
https://www.mongodb.com/try/download/shell
注:本文章下载mongosh-2.1.1-linux-x64.tgz
解压文件到指定目录
tar -xvf mongosh-2.1.1-linux-x64.tgz -C /usr/local
进入解压后的目录
cd /usr/local/mongosh-2.1.1-linux-x64
进入Mongo-Shell
bin/mongosh
测试MongoDB
show dbs # 展示数据库
无报错则输出数据库名
进入Mongo-Shell
# mongosh 或 bin/mongosh
切换到admin数据库
use admin
创建一个超级用户,并设置密码
db.createUser({
user: "root",
pwd: "your_password", # 设置密码
roles: [{ role: "root", db: "admin" }]
})
退出Mongo-Shell
quit()
修改MongoDB配置文件
sudo vim /etc/mongod.conf
添加内容
security:
authorization: enabled
重启服务
systemctl restart mongod
再次进入Mongo-Shell
# mongosh 或 bin/mongosh
测试MongoDB
show dbs # 展示数据库
设置密码生效则报错。
切换到admin数据库
use admin
输入密码
db.auth('root','your_password') # 如 db.auth('root','1')
注:输入密码要在admin数据库上,在test数据库会报错。
测试MongoDB
show dbs # 展示数据库
密码生效则无报错
修改MongoDB配置文件
sudo vim /etc/mongod.conf
找到文件内容
bindIp: 127.0.0.1
更改为
bindIp: 0.0.0.0
重启服务
systemctl restart mongod