linux MongoDB 安装与配置

这篇具有很好参考价值的文章主要介绍了linux MongoDB 安装与配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

MongoDB概述

MongoDb安装部署

MongoDB设置密码

MongoDB操作命令与说明

配置文件说明

备份操作

还原操作

MongoDB实际场景应用



MongoDB概述


MongoDB是一个非关系型数据库管理系统,它使用文档模型存储数据。MongoDB中的文档类似于JSON对象,可以包含键值对和嵌套文档。MongoDB提供了强大的查询语言、聚合框架、索引和直接在数据存储中运行的计算。

MongoDB被广泛应用于许多领域,特别是Web应用程序和大数据领域。它具有高度可扩展性和灵活性,可以处理多种数据类型。此外,MongoDB还提供了一系列工具和库,以方便开发人员在应用程序中使用它。

MongoDB可以存储Web内容管理系统的重要数据,例如页面和文章内容、标签等,以及和用户相关的数据。

MongoDb安装部署


以下是在CentOS 7上安装部署 MongoDB 的详细步骤:

1. 添加 MongoDB 的官方库。

执行以下命令添加 MongoDB 的官方仓库:

```

sudo vim /etc/yum.repos.d/mongodb-org-4.4.repo

```

linux操作mongodb,mongodb,linux,数据库

在文件中添加以下内容:

```

[mongodb-org-4.4]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

```

linux操作mongodb,mongodb,linux,数据库

保存并退出。

2. 安装 MongoDB。

执行以下命令安装 MongoDB:

```

sudo yum install mongodb-org -y

```

linux操作mongodb,mongodb,linux,数据库

3. 配置 MongoDB。

打开 MongoDB 的配置文件:

```

sudo vim /etc/mongod.conf

```

在文件中找到和修改以下内容:

- `bindIp`:绑定的 IP 地址。默认为 `127.0.0.1`,即本地访问,如果需要远程访问需要将其改为 `0.0.0.0`。

- `port`:端口号。默认为 `27017`,根据实际需要修改。

linux操作mongodb,mongodb,linux,数据库

保存并退出。

4. 启动 MongoDB。

执行以下命令启动 MongoDB:

```

sudo systemctl start mongod

```

linux操作mongodb,mongodb,linux,数据库

5. 设置 MongoDB 为系统服务。

执行以下命令将 MongoDB 设置为系统服务:

```

sudo systemctl enable mongod

```

linux操作mongodb,mongodb,linux,数据库

可以使用以下命令检查服务的状态:

```

sudo systemctl status mongod

```

linux操作mongodb,mongodb,linux,数据库

6. 登录 MongoDB。

使用以下命令登录 MongoDB:

```

mongo

```

linux操作mongodb,mongodb,linux,数据库

可以使用以下命令检查 MongoDB 的版本:

```

db.version()

```

linux操作mongodb,mongodb,linux,数据库

如果成功安装 MongoDB,则应该输出 MongoDB 的版本号。

以上就是在 CentOS 7 上安装部署 MongoDB 的详细步骤。

MongoDB设置密码


安装完MongoDB后,默认情况下没有密码,你可以直接登录MongoDB开始使用。不过,在生产环境中,强烈建议配置MongoDB的安全性设置,例如启用身份验证等。

如果你需要设置管理员账户并为其设置密码,可以按如下步骤进行:

1. 使用mongo shell登录到MongoDB。

linux操作mongodb,mongodb,linux,数据库

2. 进入admin数据库:

```

use admin

```

linux操作mongodb,mongodb,linux,数据库

3. 创建管理员账户:

```

db.createUser({ user: "admin", pwd: "yourpassword", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })

(其中,“yourpassword”为你要设置的密码。)

【这是在MongoDB数据库中创建一个名为"admin"的用户,该用户的密码为"yourpassword",  (密码可以自己进行更改)并授予该用户在所有数据库上执行用户管理操作的权限。具体来说,该用户被授予了"admin"数据库中的"userAdminAnyDatabase"角色,该角色允许用户在任何数据库上创建、修改和删除用户。】

```

linux操作mongodb,mongodb,linux,数据库

【报出的信息是 这是一个 MongoDB 数据库的命令,表示成功添加了一个名为 "admin" 的用户,该用户具有在任何数据库上执行用户管理操作的权限。具体来说,该用户可以创建、修改和删除其他用户,以及授予和撤销其他用户的权限。】

4. 退出mongo shell,重启mongod进程:

```

sudo systemctl stop mongod

sudo systemctl start mongod

```

linux操作mongodb,mongodb,linux,数据库

5. 再次使用mongo shell登录到MongoDB,使用以下命令验证登录:

```

mongo -u admin -p yourpassword --authenticationDatabase admin

```

【这是连接MongoDB数据库的命令,其中:

- `-u admin` 表示使用用户名为 "admin" 的用户进行连接;
- `-p yourpassword` 表示使用密码为 "yourpassword" 的用户进行连接;
- `--authenticationDatabase admin` 表示认证数据库为 "admin"。

这个命令会提示你输入密码,输入正确的密码后,就可以连接到MongoDB数据库了。】 

linux操作mongodb,mongodb,linux,数据库

以上是在MongoDB中创建并设置管理员账户的步骤,注意密码的安全性和复杂度。如果你没有设置管理员账户,那么默认情况下MongoDB是没有密码的。

MongoDB操作命令与说明


以下是MongoDB的常见命令操作及说明:

1. show dbs

linux操作mongodb,mongodb,linux,数据库

显示所有数据库的列表。

2. use <dbname>

linux操作mongodb,mongodb,linux,数据库

选择要使用的数据库。如果该数据库不存在,则会创建一个新数据库。

3. db.<collection>.find()

查找指定集合中的文档,例如:

```

db.users.find()

```

【首先要先创建文档才可以查到 首先完成第4点】

linux操作mongodb,mongodb,linux,数据库

4. db.<collection>.insertOne()

在指定集合中插入一个新文档,例如:

```

db.users.insertOne( { name: "John", age: 30, city: "New York" } )

```

linux操作mongodb,mongodb,linux,数据库

5. db.<collection>.updateOne()

更新指定集合中的一个文档,例如:

```

db.users.updateOne(

   { name: "John" },

   { $set: { city: "San Francisco" } }

)

```

linux操作mongodb,mongodb,linux,数据库

【反馈信息表示:这是一个 MongoDB 数据库操作的返回结果,表示成功更新了一个文档,其中:

- `acknowledged` 表示操作是否被确认,这里为 true 表示确认。
- `matchedCount` 表示符合更新条件的文档数量,这里为 1 表示更新了一个文档。
- `modifiedCount` 表示实际被修改的文档数量,这里为 1 表示成功修改了一个文档。】

6. db.<collection>.deleteOne()

删除指定集合中的一个文档,例如:

```

db.users.deleteOne( { name: "John" } )

```

linux操作mongodb,mongodb,linux,数据库

【反馈信息表示:这是一个MongoDB数据库操作的返回结果。其中,"acknowledged"表示操作是否被确认,如果为true则表示操作被确认;"deletedCount"表示删除的文档数量。所以这个返回结果表示成功删除了一个文档。】

7. db.<collection>.count()

linux操作mongodb,mongodb,linux,数据库

返回指定集合中文档的数量。

8. db.<collection>.drop()

linux操作mongodb,mongodb,linux,数据库

 【反馈信息true表示成功删除】

删除指定集合。

9. db.createUser()

linux操作mongodb,mongodb,linux,数据库

创建一个新的数据库用户。

例如,如果要创建一个用户名为 `testuser`,密码为 `testpassword`,角色为 `readWrite`,所属数据库为 `testdb` 的用户,可以使用以下命令:

```

db.createUser( { user: "testuser", pwd: "testpassword", roles: [ { role: "readWrite", db: "testdb" } ] } )

```

注意,`db.createUser()` 只能在管理员权限下执行。如果你没有管理员权限,需要先使用管理员账号登录 MongoDB,然后再执行 `db.createUser()`。

10. db.dropDatabase()

删除当前使用的数据库。

1. 打开 MongoDB shell,连接到要删除的数据库。

2. 在 shell 中输入 `use <database_name>` 命令,切换到要删除的数据库。

3. 输入 `db.dropDatabase()` 命令,删除当前连接的数据库。

注意:该命令会永久删除数据库及其所有数据,谨慎使用。

11. db.stats()

linux操作mongodb,mongodb,linux,数据库

获取当前使用的数据库的状态信息。

以上是MongoDB的常见命令操作及说明,可以满足大多数日常工作所需。

配置文件说明


MongoDB的配置文件是文本文件,用于指定MongoDB运行时的配置信息。采用使用配置文件的方式启动MongoDB可以使得管理和配置MongoDB更为方便。

MongoDB的配置文件在启动时需要指定,通常可以使用`mongod --config`命令来指定。

以下是MongoDB配置文件的常用参数及其说明:

- bindIp:绑定的IP地址,默认值为`0.0.0.0`,表示可以连接所有的IP地址。可以通过指定一个特定的IP地址或者多个来限制MongoDB的访问。

- port:MongoDB监听的端口,默认端口号为27017。

- dbpath:MongoDB数据库使用的文件夹路径,默认路径为`/data/db`。

- logpath:MongoDB日志文件的路径。

- logappend:如果设置为true,则MongoDB的日志文件使用追加模式。

- quiet:如果设置为true,则MongoDB不输出任何日志信息。

- pidfilepath:MongoDB进程ID文件路径。

- maxConns:MongoDB允许连接的最大数量,默认值为`20000`。

- maxIncomingConnections:MongoDB允许同时打开的最大连接数,默认值为`65536`。

- storage:MongoDB存储引擎,默认为`wiredTiger`。

使用配置文件启动MongoDB的示例命令如下:

```

mongod --config /etc/mongod.conf

```

linux操作mongodb,mongodb,linux,数据库

以上是MongoDB配置文件的常用参数及其说明。在实践中,需要根据具体的需求和硬件条件来调整参数值以实现最佳性能功效。

备份操作


MongoDB有多种备份方式,其中包括热备份和冷备份两种方式。

【使用时候 冷、热备份尽量不要同时使用】

1. 热备份

热备份是在MongoDB处于运行状态下进行备份的一种方式。具体步骤如下:

(1)使用mongodump命令导出MongoDB的备份数据。以下命令将备份数据导出到`/data/backup`目录下:

```

mongodump --out /data/backup

```

linux操作mongodb,mongodb,linux,数据库linux操作mongodb,mongodb,linux,数据库

(2)如果需要对导出的备份数据进行压缩,可以使用以下命令:

```

tar -czvf backup.tar.gz /data/backup

```

linux操作mongodb,mongodb,linux,数据库

2. 冷备份

冷备份是在MongoDB处于新启动的状态下进行备份的一种方式。具体步骤如下:

(1)使用MongoDB的`mongodump`命令导出MongoDB的备份数据。以下命令将备份数据导出到`/data/backup`目录下:

```

mongodump --out /data/backup

```

linux操作mongodb,mongodb,linux,数据库

(2)停止MongoDB服务:

```

sudo systemctl stop mongod

```

linux操作mongodb,mongodb,linux,数据库

(3)使用tar命令将漏斗备份数据压缩成一个文件:

```

tar -czvf backup.tar.gz /data/backup

```

linux操作mongodb,mongodb,linux,数据库

 查看

linux操作mongodb,mongodb,linux,数据库

 vim打开backup.tar.gz

linux操作mongodb,mongodb,linux,数据库

(4)启动MongoDB服务:

```

sudo systemctl start mongod

```

linux操作mongodb,mongodb,linux,数据库

备份是MongoDB管理的重要组成部分,定期备份MongoDB数据库是保证数据安全性的重要手段之一。对于生产系统,推荐使用自动化的备份解决方案。

还原操作


MongoDB使用mongorestore命令将备份数据还原到MongoDB中。以下是MongoDB备份数据还原的步骤:

(1)解压备份文件

首先,需要解压缩MongoDB备份文件。假设备份文件`backup.tar.gz`被解压到了`/data/backup`目录,使用以下命令解压备份文件:

```

tar -xzvf backup.tar.gz -C /data/backup

```

linux操作mongodb,mongodb,linux,数据库

(2)停止MongoDB服务

在还原备份数据期间,需要停止MongoDB服务以避免出现意外。使用以下命令停止MongoDB服务:

```

sudo systemctl stop mongod

```

linux操作mongodb,mongodb,linux,数据库

(3)使用mongorestore命令还原备份数据

使用mongorestore命令将备份数据还原到MongoDB中。以下命令将备份数据恢复到MongoDB:

```

mongorestore /data/backup

```

linux操作mongodb,mongodb,linux,数据库

该命令将备份数据恢复到原来的集合和数据库中,也可以通过指定`--db`参数将备份数据恢复到一个新的数据库中。

(4)重启MongoDB服务

还原备份数据后,重启MongoDB服务:

```

sudo systemctl start mongod

```

以上是将MongoDB备份数据还原的简单步骤。在实践中,备份和还原数据时需要谨慎操作,以确保数据的完整性和安全性。

MongoDB实际场景应用


你要构建一个在线零售商店,这个店铺需要处理会员数据、订单数据以及商品数据等。为了保存和管理这些数据,你可以使用MongoDB。

1. 设计数据模式

对于在线零售商店的数据,你可以设计三个MongoDB集合:

- 会员信息集合(Members):该集合包含了会员的基本信息,如姓名、电子邮件、地址、购买历史等。

- 订单信息集合(Orders):该集合包含所有订单的信息,包括订单编号、产品名称、单价、数量、运费等。

- 商品信息集合(Products):该集合包含所有销售商品的信息,如名称、描述、价格、库存量等。

你可以使用MongoDB的文档格式来存储每个集合中的数据。例如,对于会员信息集合,你可以使用以下文档格式:

```

{

   _id: ObjectId("5f096745c83ab13f9d887137"),

   name: "John Smith",

   email: "john.smith@email.com",

   address: "123 Main St, Anytown USA",

   purchase_history: [

      {

         item: "Product A",

         date: ISODate("2022-01-01T10:00:00Z"),

         price: 99.99

      },

      {

         item: "Product B",

         date: ISODate("2022-01-05T14:30:00Z"),

         price: 49.99

      }

   ]

}

```

对于订单信息集合和商品信息集合,你可以使用相似的文档格式来存储数据。

2. 插入数据

在你的在线零售商店开始运营之前,你需要向MongoDB中插入一些测试数据。你可以使用MongoDB的insertMany命令来批量插入数据集:

mongo shell 登录到mongdb下随后把一下命令敲到命令行

```

db.members.insertMany([

   {

      name: "John Smith",

      email: "john.smith@email.com",

      address: "123 Main St, Anytown USA",

      purchase_history: [

         {

            item: "Product A",

            date: ISODate("2022-01-01T10:00:00Z"),

            price: 99.99

         },

         {

            item: "Product B",

            date: ISODate("2022-01-05T14:30:00Z"),

            price: 49.99

         }

      ]

   },

   {

      name: "Jane Doe",

      email: "jane.doe@email.com",

      address: "456 Oak St, Another Town USA",

      purchase_history: [

         {

            item: "Product C",

            date: ISODate("2022-01-10T09:45:00Z"),

            price: 149.99

         },

         {

            item: "Product A",

            date: ISODate("2022-01-15T11:30:00Z"),

            price: 99.99

         }

      ]

   }

]);

db.orders.insertMany([

   {

      order_number: "1001",

      product_name: "Product A",

      price: 99.99,

      quantity: 2,

      shipping: 5.99,

      order_date: ISODate("2022-01-01T10:00:00Z")

   },

   {

      order_number: "1002",

      product_name: "Product B",

      price: 49.99,

      quantity: 3,

      shipping: 7.99,

      order_date: ISODate("2022-01-05T14:30:00Z")

   }

]);

db.products.insertMany([

   {

      name: "Product A",

      description: "A great product!",

      price: 99.99,

      stock: 100

   },

   {

      name: "Product B",

      description: "Another great product!",

      price: 49.99,

      stock: 50

   },

   {

      name: "Product C",

      description: "The greatest product of all!",

      price: 149.99,

      stock: 25

   }

]);

```

linux操作mongodb,mongodb,linux,数据库

 文章来源地址https://www.toymoban.com/news/detail-729574.html

3. 查询数据

假设你要在你的在线零售商店中显示某个会员的购买历史记录,你可以使用以下查询来检索数据:

使用一下命令查看

```

db.members.find({ name: "John Smith"})

linux操作mongodb,mongodb,linux,数据库

 

到了这里,关于linux MongoDB 安装与配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MongoDB-数据库文档操作(1)

    任务描述 文档数据在 MongoDB 中的插入和更新。 相关知识 本文将向大家介绍文档数据在 MongoDB 中的基本操作。 文档的数据结构和 JSON 基本一样,所有存储在集合中的数据都是 BSON 格式。BSON 是一种类 JSON 的一种二进制形式的存储格式,简称: Binary JSON 。 本文将教你掌握:

    2024年01月17日
    浏览(34)
  • MongoDB-数据库文档操作(2)

    任务描述 文档数据在 MongoDB 中的查询和删除。 相关知识 本文将教你掌握: 查询文档命令; 删除文档命令。 查询文档 我们先插入文档到集合 stu1 : 然后查看 stu1 ,命令和结果如图1所示(因为我们没有设置 _id ,所以 MongoDB 会默认生成: 图 1 上述显示的文档格式不够整齐,

    2024年01月18日
    浏览(30)
  • 【Nodejs】操作mongodb数据库

    Mongoose是一个让我们可以通过Node来操作MongoDB的模块。 Mongoose是一个对象文档模型(ODM)库,它对Node原生的MongoDB模块进行了进一步的优化封装,并提供了更多的功能。在大多数情况下,它被用来把结构化的模式应用到一个MongoDB集合,并提供了验证和类型转换等好处 mongoose中的对象

    2024年02月15日
    浏览(32)
  • Python 操作 MongoDB 数据库介绍

    MongoDB 是一款面向文档型的  NoSQL  数据库,是一个基于分布式文件存储的开源的非关系型数据库系统,其内容是以  K/V  形式存储,结构不固定,它的字段值可以包含其他文档、数组和文档数组等。其采用的  BSON (二进制 JSON )的数据结构,可以提高存储和扫描效率,但空

    2024年02月10日
    浏览(28)
  • redis及mongoDB数据库操作

    Redis作业 1、string类型数据的命令操作: (1) 设置键值: SET key value 例如: SET name \\\"John\\\" (2) 读取键值: GET key 例如: GET name (3) 数值类型自增1: INCR key 例如: INCR count (4) 数值类型自减1: DECR key 例如: DECR count (5) 查看值的长度: STRLEN key 例如: STRLEN name 2、lis

    2024年02月16日
    浏览(30)
  • MongoDB创建用户 、数据库、索引等基础操作

    MongoDB的权限认证是相对来说比较复杂的,不同的库创建后需要创建用户来管理。 本机中的MongoDB是docker 启动的,所以先进入docker的镜像中 这样就进入到了镜像MongoDB中,然后输入命令连接MongoDB数据库   注意用户名密码以及数据库名称  出现这个界面说明登录成功 接下来开始

    2024年02月14日
    浏览(27)
  • redis数据库和MongoDB数据库基本操作

    (1) 设置键值 (2) 读取键值 (3) 数值类型自增1 (4) 数值类型自减1 (5) 查看值的长度 (1)对列表city插入元素:Shanghai Suzhou Hangzhou (2)将列表city里的头部的元素移除 (3) 对一个已存在的列表插入新元素 (4)查看list的值长度 (1) 设置一个hash表,order表里包括的

    2024年02月16日
    浏览(49)
  • MongoDB常用的操作(服务器、数据库、集合)

    前面两篇已经介绍了MongoDB系统架构及其BSON数据类型。本文将讲解基本的MongoDB操作。 一、MongoDB启动命令 启动MongoDB 查看是否启动成功 重启MongoDB 关闭MongoDB 二、使用init命令操作MongoDB 启动MongoDB 查看是否启动成功 重启MongoDB 关闭MongoDB 三、启动mongodb客户端 查看该服务是否启动

    2024年02月07日
    浏览(46)
  • MongoDB数据库安装

    MongoDB数据的特点: 面相文档存储的分布式数据库 具有很强的扩展性 支持丰富的查询表达式,很接近于关系性数据库 使用类似于json的结构保存数据,可以轻易的查询到文档中内嵌的对象及数组 首先去官网下载安装包 Download MongoDB Community Server | MongoDB 启动MongoDB数据的服务 可

    2024年02月11日
    浏览(47)
  • 数据库操作入门:PyMongo 和 MongoDB 的基本用法

    MongoDB是一种流行的NoSQL数据库,它将数据存储在类似JSON的文档中,使数据库非常灵活和可扩展 Python需要一个MongoDB驱动程序来访问MongoDB数据库。在本教程中,我们将使用MongoDB驱动程序 \\\"PyMongo\\\"。建议使用PIP来安装 \\\"PyMongo\\\",确保您的Python环境已安装PIP。 在命令行中导航到PIP的

    2024年02月05日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包