MongoDB安装、设置密码、操作命令、配置文件说明、备份与还原

目录

一、mongodb概述

二、mongodb安装部署

三、mongodb设置密码

四、MongoDB操作命令与说明

五、配置文件说明

六、备份与还原


一、mongodb概述

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

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

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

二、mongodb安装部署

1. 添加 MongoDB 的官方库。

[root@localhost ~] vim /etc/yum.repos.d/mongodb-org-4.4.repo
[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
~                                                           

2. 安装 MongoDB。

[root@localhost ~] yum install -y mongodb-org

3. 配置 MongoDB。

[root@localhost ~] vim /etc/mongod.conf
 port: 27017
  bindIp: 0.0.0.0   #任何IP都可以访问

4. 启动 MongoDB、设置 MongoDB 为系统服务。

6. 登录 MongoDB。

[root@localhost ~] mongo
> 

三、mongodb设置密码

> use admin   #进入admin
switched to db admin
> db.createUser({ user: "admin", pwd: "yourpassword", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })   #创建用户和密码
Successfully added user

> exit
bye
[root@localhost ~] systemctl stop mongod.service    
[root@localhost ~] systemctl start mongod.service    #重启mongod 服务
[root@localhost ~] mongo -u admin -p yourpassword --authenticationDatabase admin #管理员登录


[root@localhost ~] mongo 192.168.1.12:27017 -u admin -p yourpassword --authenticationDatabase admin   #用另一台服务器远程登录

四、MongoDB操作命令与说明

数据库说明

admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合

config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

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

1. show dbs

显示所有数据库的列表。

2. use <dbname>

> use skl

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

3.db.<collection>.find()

db 表示当前数据库,collection 表示要查询的集合。find() 方法用于查询集合中的所有文档,并将结果返回给用户。用户可以根据需要对查询结果进行进一步处理或展示。

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

> db.users.find()
{ "_id" : ObjectId("648843e8136d7c99cdb43fcd"), "name" : "John", "age" : 30, "city" : "New York" }

4. db.<collection>.insertOne()

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

> db.users.insertOne( { name: "John", age: 30, city: "New York" } )
{
	"acknowledged" : true,
	"insertedId" : ObjectId("648843e8136d7c99cdb43fcd")

5. db.<collection>.updateOne()

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

db.users.updateOne(

   { name: "John" },

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

)

6. db.<collection>.deleteOne()

删除指定集合中的一个文档

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

7. db.<collection>.count()

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

8. db.<collection>.drop()

删除指定集合。

9.db.createUser()

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

db.createUser({ user: "myUser", pwd: "myPassword", roles: [ { role: "readWrite", db: "myDatabase" } ] })

10. db.dropDatabase()

删除当前使用的数据库。

11. db.stats()

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

以上是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

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

六、备份与还原

1.热备份:

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

mongodump --out /data/backup

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

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

[root@localhost ~] mongodump --out /data/backup
[root@localhost ~] tar -czvf backup.tar.gz /data/backup

2. 冷备份

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

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

mongodump --out /data/backup

(2)停止MongoDB服务:

sudo systemctl stop mongod

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

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

(4)启动MongoDB服务:

sudo systemctl start mongod

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

2.还原:

(1)解压备份文件

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

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

(2)停止MongoDB服务

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

sudo systemctl stop mongod

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

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

mongorestore /data/backup

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

(4)重启MongoDB服务

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

sudo systemctl start mongod

[root@localhost ~] mongodump --out /data/backup
[root@localhost ~] tar -czvf backup.tar.gz /data/backup
[root@localhost ~] tar -xzvf backup.tar.gz -C /data/backup
[root@localhost ~] mongorestore /data/backup

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1. MongoDB安装与配置 步骤如下: 1. 下载MongoDB: 在MongoDB官网 https://www.mongodb.com/ 中下载相应的版本。 2. 安装MongoDB: 运行下载后的安装程序,按照提示进行安装。 3. 配置MongoDB: 打开MongoDB安装目录下的bin文件夹,找到mongod.exe文件,将其添加到系统环境变量中,然后在命令行中输入mongod,启动MongoDB。 4. 测试MongoDB: 在命令行中输入mongo,连接MongoDB数据库。 2. MongoDB数据操作 MongoDB的数据操作主要包括增删改查四个方面,具体操作如下: 1. 插入数据:使用insert()方法插入数据,语法如下: db.collection.insert(document) 其中,db.collection是集合名称,document是要插入的数据。 2. 删除数据:使用remove()方法删除数据,语法如下: db.collection.remove(query) 其中,db.collection是集合名称,query是删除条件。 3. 更新数据:使用update()方法更新数据,语法如下: db.collection.update(query,update,options) 其中,db.collection是集合名称,query是更新条件,update是更新内容,options是更新选项。 4. 查询数据:使用find()方法查询数据,语法如下: db.collection.find(query) 其中,db.collection是集合名称,query是查询条件。 3. Java使用MongoDB Java中使用MongoDB需要引入MongoDB驱动程序,然后通过Java代码操作MongoDB数据库。 步骤如下: 1. 引入MongoDB驱动程序:在Java项目中引入MongoDB驱动程序,可以通过Maven或手动下载并添加到项目中。 2. 连接MongoDB:使用MongoClient类连接MongoDB数据库,语法如下: MongoClient mongoClient = new MongoClient("localhost", 27017); 其中,localhost是MongoDB数据库所在的主机名,27017是MongoDB数据库所使用的端口号。 3. 获取MongoDB数据库:使用getDatabase()方法获取MongoDB数据库,语法如下: MongoDatabase mongoDatabase = mongoClient.getDatabase("test"); 其中,test是MongoDB数据库的名称。 4. 获取MongoDB集合:使用getCollection()方法获取MongoDB集合,语法如下: MongoCollection<Document> collection = mongoDatabase.getCollection("users"); 其中,users是MongoDB集合的名称。 5. 插入数据:使用insertOne()方法插入数据,语法如下: Document document = new Document("name", "Tom").append("age", 18); collection.insertOne(document); 其中,name和age是数据的字段名,"Tom"和18是数据的值。 6. 删除数据:使用deleteOne()方法删除数据,语法如下: collection.deleteOne(Filters.eq("name", "Tom")); 其中,name是数据的字段名,"Tom"是数据的值。 7. 更新数据:使用updateOne()方法更新数据,语法如下: collection.updateOne(Filters.eq("name", "Tom"), new Document("$set", new Document("age", 20))); 其中,name是数据的字段名,"Tom"是数据的值,$set是更新操作符,age是更新后的值。 8. 查询数据:使用find()方法查询数据,语法如下: MongoCursor<Document> cursor = collection.find().iterator(); while (cursor.hasNext()) { Document document = cursor.next(); System.out.println(document); } 其中,find()方法可以不带参数,表示查询所有数据。查询结果会返回一个游标,可以通过循环遍历游标获取查询结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我还能再学点

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

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

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

打赏作者

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

抵扣说明:

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

余额充值