Ubuntu安装MongoDB

 Ubuntu(在线版)

更新软件源

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  # 展示数据库

无报错则输出数据库名

 Ubuntu(离线版)

进入下载链接选择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  # 展示数据库

无报错则输出数据库名

设置MongoDB密码

进入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