How to install mongodb 7.0 to Ubuntu 22.04

1、安装

1.1、添加gpg

curl -fsSL https://pgp.mongodb.com/server-7.0.asc |  sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

1.2、添加apt源

echo "deb [ arch=amd64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

1.3、更新

apt update

1.4、安装

apt install -y mongodb-org 

2、管理

2.1、服务管理

2.1.1、查看服务状态

安装完成以后,服务是否启动,我们是不知道的,这个时候怎么查看呢,一般来说,mongodb安装完成以后,都会安装成系统服务。通常来说,对于系统服务,我们可以借助以下命令来查看服务是否启动。

systemctl status mongod.service

这里,我们来检测一下:

lwk@qwfys:~$ sudo systemctl status mongod.service 
○ mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: https://docs.mongodb.org/manual

Oct 21 00:16:33 qwfys systemd[1]: Stopping MongoDB Database Server...
Oct 21 00:16:33 qwfys systemd[1]: mongod.service: Deactivated successfully.
Oct 21 00:16:33 qwfys systemd[1]: Stopped MongoDB Database Server.
Oct 21 00:16:33 qwfys systemd[1]: mongod.service: Consumed 4.804s CPU time.
Oct 21 00:16:33 qwfys systemd[1]: Started MongoDB Database Server.
Oct 21 00:16:33 qwfys mongod[6093]: {"t":{"$date":"2023-10-20T16:16:33.931Z"},"s":"I",  "c":"CONTROL",  "id":7484500, "ctx":"main","msg":"Environment variable MONGODB_CONFIG_OVERRIDE_NOFORK>
Oct 21 10:39:19 qwfys systemd[1]: Stopping MongoDB Database Server...
Oct 21 10:39:21 qwfys systemd[1]: mongod.service: Deactivated successfully.
Oct 21 10:39:21 qwfys systemd[1]: Stopped MongoDB Database Server.
Oct 21 10:39:21 qwfys systemd[1]: mongod.service: Consumed 37.350s CPU time.
lwk@qwfys:~$ 

这里,我们看到服务没有启动。

2.1.2、启动服务

我们启动一下。

lwk@qwfys:~$ sudo systemctl start mongod.service 
lwk@qwfys:~$ sudo systemctl status mongod.service 
● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2023-10-21 10:44:56 CST; 8s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 8924 (mongod)
     Memory: 169.4M
        CPU: 762ms
     CGroup: /system.slice/mongod.service
             └─8924 /usr/bin/mongod --config /etc/mongod.conf

Oct 21 10:44:56 qwfys systemd[1]: Started MongoDB Database Server.
Oct 21 10:44:57 qwfys mongod[8924]: {"t":{"$date":"2023-10-21T02:44:57.041Z"},"s":"I",  "c":"CONTROL",  "id":7484500, "ctx":"main","msg":"Environment variable MONGODB_CONFIG_OVERRIDE_NOFORK>
lwk@qwfys:~$ 

这里,我们看到,服务已经启动起来了。

2.1.3、 设置服务为开机启动

通常情况下,对于服务器程序,我可以将其调协为开机启动。

lwk@qwfys:~$ sudo systemctl enable mongod.service 
Created symlink /etc/systemd/system/multi-user.target.wants/mongod.service → /lib/systemd/system/mongod.service.
lwk@qwfys:~$ 

2.1.4、取消服务开机启动

有的时候,我们又不需要让服务开机启动,这个要求是合理的,具体如下:

lwk@qwfys:~$ sudo systemctl disable mongod.service 
Removed /etc/systemd/system/multi-user.target.wants/mongod.service.
lwk@qwfys:~$ 

2.1.5、关闭服务

如果希望关闭服务,可以执行以下命令:

lwk@qwfys:~$ sudo systemctl stop mongod.service 
lwk@qwfys:~$ sudo systemctl status mongod.service 
○ mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: https://docs.mongodb.org/manual

Oct 21 10:39:19 qwfys systemd[1]: Stopping MongoDB Database Server...
Oct 21 10:39:21 qwfys systemd[1]: mongod.service: Deactivated successfully.
Oct 21 10:39:21 qwfys systemd[1]: Stopped MongoDB Database Server.
Oct 21 10:39:21 qwfys systemd[1]: mongod.service: Consumed 37.350s CPU time.
Oct 21 10:44:56 qwfys systemd[1]: Started MongoDB Database Server.
Oct 21 10:44:57 qwfys mongod[8924]: {"t":{"$date":"2023-10-21T02:44:57.041Z"},"s":"I",  "c":"CONTROL",  "id":7484500, "ctx":"main","msg":"Environment variable MONGODB_CONFIG_OVERRIDE_NOFORK>
Oct 21 10:53:39 qwfys systemd[1]: Stopping MongoDB Database Server...
Oct 21 10:53:39 qwfys systemd[1]: mongod.service: Deactivated successfully.
Oct 21 10:53:39 qwfys systemd[1]: Stopped MongoDB Database Server.
Oct 21 10:53:39 qwfys systemd[1]: mongod.service: Consumed 4.566s CPU time.
lwk@qwfys:~$

2.1.6、服务重启

如果需要重启服务,可以用以下命令:

lwk@qwfys:~$ sudo systemctl status mongod.service 
● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2023-10-21 10:56:42 CST; 8s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 9271 (mongod)
     Memory: 169.5M
        CPU: 787ms
     CGroup: /system.slice/mongod.service
             └─9271 /usr/bin/mongod --config /etc/mongod.conf

Oct 21 10:56:42 qwfys systemd[1]: Started MongoDB Database Server.
Oct 21 10:56:42 qwfys mongod[9271]: {"t":{"$date":"2023-10-21T02:56:42.485Z"},"s":"I",  "c":"CONTROL",  "id":7484500, "ctx":"main","msg":"Environment variable MONGODB_CONFIG_OVERRIDE_NOFORK>
lwk@qwfys:~$ sudo systemctl restart mongod.service 
lwk@qwfys:~$ sudo systemctl status mongod.service 
● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2023-10-21 10:57:21 CST; 2s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 9326 (mongod)
     Memory: 169.3M
        CPU: 717ms
     CGroup: /system.slice/mongod.service
             └─9326 /usr/bin/mongod --config /etc/mongod.conf

Oct 21 10:57:21 qwfys systemd[1]: Started MongoDB Database Server.
Oct 21 10:57:21 qwfys mongod[9326]: {"t":{"$date":"2023-10-21T02:57:21.090Z"},"s":"I",  "c":"CONTROL",  "id":7484500, "ctx":"main","msg":"Environment variable MONGODB_CONFIG_OVERRIDE_NOFORK>
lwk@qwfys:~$ 

2.2、mongosh

这里,我们借助mongosh命令来完成mongodb的相关管理工作。

2.2.1、进入mongosh

lwk@qwfys:~$ mongosh
Current Mongosh Log ID:	653297d8d2647c0396c5de9d
Connecting to:		mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.0.2
Using MongoDB:		7.0.2
Using Mongosh:		2.0.2

For mongosh info see: https://docs.mongodb.com/mongodb-shell/


To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy).
You can opt-out by running the disableTelemetry() command.

------
   The server generated these startup warnings when booting
   2023-10-20T22:09:01.515+08:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
   2023-10-20T22:09:02.223+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
   2023-10-20T22:09:02.224+08:00: vm.max_map_count is too low
------

test> show dbs
admin   40.00 KiB
config  60.00 KiB
local   72.00 KiB
test>

这里,我们可以看到,系统安装成功以后,会自带三个库,分别是test、admin、local。

2.2.2、创建数据库

在mongosh中,如果要我们借助命令use可以完成数据库的创建与切换。下面,我们创建一个名称为emei的库。

test> use emei
switched to db emei
emei>

2.2.3、数据库用户

2.2.3.1、查看数据库用户

可以借助如下命令查看当前数据库有哪些用户。

emei> db.getUsers();
{ users: [], ok: 1 }
emei>

这里,我们看到,没有一个用户。

2.2.3.2、创建数据库用户

接下来,我们创建两个用户,其中一个用户名为admin,密码为Gah6kuP7ohfio4,另一个用户,用户名为admix,密码为Gah6kuP7ohfio4,并为它赋于读写权限。

emei> db.createUser(
...   {
...     user: "admin",
...     pwd: "Gah6kuP7ohfio4",
...     roles: [ { role: "readWrite", db: "emei" } ]
...   }
... )
{ ok: 1 }
emei> db.createUser(
...   {
...     user: "admix",
...     pwd: "Gah6kuP7ohfio4",
...     roles: [ { role: "readWrite", db: "emei" } ]
...   }
... )
{ ok: 1 }
emei> db.getUsers();
{
  users: [
    {
      _id: 'emei.admin',
      userId: new UUID("fedb3cb0-7850-4904-ba7a-5e182cd1e9c9"),
      user: 'admin',
      db: 'emei',
      roles: [ { role: 'readWrite', db: 'emei' } ],
      mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
    },
    {
      _id: 'emei.admix',
      userId: new UUID("910386e6-81e2-4c5b-8eb0-6b273e5319a8"),
      user: 'admix',
      db: 'emei',
      roles: [ { role: 'readWrite', db: 'emei' } ],
      mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
    }
  ],
  ok: 1
}
emei> 

我们看到,用户已经创建成功。

2.2.3.3、删除数据库用户

这里,我们删除用户名为admix的用户。

emei> db.dropUser("admix", {w: "majority", wtimeout: 4000});
{ ok: 1 }
emei> db.getUsers();
{
  users: [
    {
      _id: 'emei.admin',
      userId: new UUID("fedb3cb0-7850-4904-ba7a-5e182cd1e9c9"),
      user: 'admin',
      db: 'emei',
      roles: [ { role: 'readWrite', db: 'emei' } ],
      mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
    }
  ],
  ok: 1
}
emei>
2.2.3.4、创建数据库管理员用户
emei> use admin
switched to db admin
admin> db.createUser(
...   {
...     user: "admin",
...     pwd: passwordPrompt(),
...     roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
...  }
... )
Enter password
Gah6kuP7ohfio4
**************{ ok: 1 }
admin> exit
lwk@qwfys:~$

我们可以看到,管理员用户已经创建完成。

2.2.4、用管理账号管理mongodb

2.2.4.1、添加配置项

为了使用账号登录到mongodb数据库,这个时候,我们需要在mongodb数据库配置文件中添加启用权限配置项:

sudo tee -a /etc/mongod.conf <<-'EOF'

security:
    authorization: enabled

EOF

添加完成以后,要使配置生效,我们还需要重启mongodb服务。

2.2.4.2、基于账号连接

当然我们需要基于账号连接到mongodb数据库服务端的时候,需要采用如下的方式:

lwk@qwfys:~$ mongosh --username=admin --password=Gah6kuP7ohfio4
Current Mongosh Log ID:	6532a6ae0cdd8066876fefa0
Connecting to:		mongodb://<credentials>@127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.0.2
Using MongoDB:		7.0.2
Using Mongosh:		2.0.2

For mongosh info see: https://docs.mongodb.com/mongodb-shell/

test> show dbs;
admin   180.00 KiB
config   72.00 KiB
local    72.00 KiB
test> 

这里,我们看到,服务已经连接成功,而且可以正常使用了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要在Ubuntu 22.04上安装MongoDB,可以按照以下步骤进行操作: 1. 打开终端,输入以下命令以添加MongoDB的官方仓库: ``` wget -qO - https://www.mongodb.org/static/pgp/server-5..asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5. multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5..list ``` 2. 更新软件包列表: ``` sudo apt-get update ``` 3. 安装MongoDB: ``` sudo apt-get install -y mongodb-org ``` 4. 启动MongoDB服务: ``` sudo systemctl start mongod ``` 5. 验证MongoDB是否已经成功安装: ``` mongo --eval 'db.runCommand({ connectionStatus: 1 })' ``` 如果成功安装,将会看到类似以下的输出: ``` MongoDB shell version v5..3 connecting to: mongodb://127...1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("..."), "lsid" : { "id" : UUID("...") }, "name" : "..." } MongoDB server version: 5..3 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(164053576, 1), "signature" : { "hash" : BinData(,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong() } }, "operationTime" : Timestamp(164053576, 1) } ``` 以上就是在Ubuntu 22.04上安装MongoDB的步骤。 ### 回答2: Ubuntu22.04是一个新版本的Ubuntu操作系统,它的安装方式与以往版本基本相同。要在Ubuntu22.04上安装mongodb,需要使用apt-get命令进行安装,在终端中输入以下命令: sudo apt-get install mongodb 然后按照提示输入管理员密码,即可安装mongodb。在安装过程中,会自动安装MongoDB的客户端和管理工具,同时会为MongoDB创建一个系统用户和组。 安装成功后,可以使用以下命令来启动MongoDB: sudo service mongodb start 要验证MongoDB是否已经成功安装和运行,可以运行以下命令: mongo 这样就可以进入MongoDB的交互式Shell,对MongoDB进行管理和操作。 在安装后,可以使用以下命令来停止MongoDB服务: sudo service mongodb stop 如果需要重新启动MongoDB服务,可以运行以下命令: sudo service mongodb restart 在安装MongoDB后,还可以通过修改配置文件来修改MongoDB的配置选项,比如数据目录、日志路径等等。配置文件的路径是/etc/mongodb.conf。 总之,在Ubuntu22.04上安装MongoDB非常简单,只需使用apt-get命令即可完成安装。安装完成后,可以使用MongoDB的各种客户端工具来对MongoDB数据库进行管理和操作,使得数据管理变得更加轻松便捷。 ### 回答3: 要在Ubuntu22.04上安装MongoDB,需要按照以下步骤进行操作: 第一步,添加MongoDB软件源。在终端中输入以下命令: ``` sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 sudo echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list sudo apt update ``` 这个命令添加了MongoDB的官方软件源。 第二步,安装MongoDB。终端输入: ``` sudo apt-get install -y mongodb-org ``` 这个命令将会安装MongoDB以及相关的工具和驱动程序。 第三步,启动MongoDB服务。终端输入: ``` sudo systemctl start mongod ``` 这个命令将会启动MongoDB服务。 第四步,设置MongoDB服务在系统启动时自动启动。终端输入: ``` sudo systemctl enable mongod ``` 这个命令将会设置MongoDB服务在系统启动时自动启动。 现在,MongoDB已经在Ubuntu22.04上成功安装!可以使用mongo客户端来连接数据库了。输入以下命令连接MongoDB: ``` mongo ``` 这个命令将会连接到默认的MongoDB实例,并进入交互式shell。 这就是在Ubuntu22.04上安装MongoDB的完整流程。需要注意的是,如果已经安装了其他版本的MongoDB,需要卸载它们以防止版本冲突。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qwfys200

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值