mongodb入门到使用(上)


前言

本文主要针对一些项目的部署服务器在使用方面用到了mongodb,参考解决一些部署方面遇到的问题。

一、linux下载

  1. 使用wget下载

    wget https://downloads.mongodb.com/linux/mongodb-linux-x86_64-enterprise-rhel70-4.2.8.tgz
    
  2. 解压

     tar -zxvf mongodb-linux-x86_64-enterprise-rhel70-4.2.8.tgz
    
  3. 移动文件到指定目录,方便后续配置信息

     mv mongodb-linux-x86_64-enterprise-rhel70-4.2.8  /usr/local/mongob
    

二、mongodb配置

首先到达mongodb目录下

cd /usr/local/mongodb
  • 创建相应文件mongo文件

      需要注意的是-p的意思是创建多级目录
    
  mkdir data/log -p

创建日志文件,用于存放生成的日志

  touch mongodb.log
  • 载入配置信息
    1. 进入编辑文件目录文件
  vim mongodb.conf
  1. 编辑信息
# 端口号
port=27017
# 数据库文件位置
dbpath=/usr/local/mongodb/data/db
# 日志文件位置
logpath=/usr/local/mongodb/data/logs/mongodb.log

# 以追加日志的形式记录
logappend=true
# 滤掉无用日志信息,若需要调试使用请设置为false
quiet=true
# 以后台方式运行
fork=true
# 最大同时连接数
maxConns=100
# 不启用验证权限
noauth=true
# 启用用户账号权限
# auth=true# 提供外网访问,不对ip进行绑定,原理同redis的bindip
bind_ip = 0.0.0.0
# 开启日志,默认true
journal=true
# 提供外网访问,不对ip进行绑定,原理同redis的bindip
bind_ip = 0.0.0.0
  • 配置全局变量
    1. 编辑文件
vim /etc/profile
  1. 相关代码
# Set MongoDB Configration
export PATH=/usr/local/mongodb/bin:$PATH
  1. 保存配置信息
  source /etc/profile
  • 配置开启密码
    1. 进入mongo目录下,编辑配置信息
# 不启用验证权限
#noauth=true
# 启用用户账号权限
auth=true

注意:修改上述两个之后重启mondodb配置才能生效
2. 进入配置全局之后直接输入mongo进入mongo数据库中
3. 进入admin数据库中

  use admin
  1. 配置密码
    这里用户名与密码随机设置
  db.createUser({user:"你的用户名",pwd:"你的密码",roles:["root"]})

但是后面roles需要根据根据权限进行设置,具体权限参考下图
密码信息描述

这里设置成功之后会提示如下信息

Successfully added user: { "user" : "你的用户名", "roles" : [ "root" ] }
  1. 输入下列命令查看命令是否正确
  MongoDB Enterprise > db.auth("你的用户名","你的密码")
  1

正确就会弹出1

三、 mongodb服务管理

下面接收它的基本操作

启动

到目录mongo下通过上述配置过的配置文件进行启动

   mongodb -f mongodb.conf
  • 启动之后会有如下提示信息
[root@iZuf62wjxn3dumrn6z8eemZ mongodb]# mongod -f mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 24109
ERROR: child process failed, exited with error number 48
To see additional information in this output, start without the "--fork" option.

输入mongo就可以进入mongo中。

  • 如果启动遇到下面问题
Cannot connect to MongoDB. No suitable servers found: `serverSelectionTimeou

解决:使用下面这条命令
yum install net-snmp

服务查看

  • 可以根据占用端口号查看
  netstat -anp|grep 27017
  • 可以根据服务查看
  ps -ef|grep mongo

停止

  • 快速关闭(直接杀死进程)
    为了防止数据损坏需要使用
  kill -2 进程 来结束进程
  • 优雅的关闭
    需要登录客户端mongo
    切换到amdin库
use admin

命令关闭

db.shutdownServer()

四、远程连接

最后在远程配置好mongodb之后我们想在本地访问,步骤如下

  1. 首先进入配置目录,编辑配置信息
vim mongodb.conf
  1. 修改配置信息

如果bind_ip为127.0.0.1就是只能本机访问,需要修改为0.0.0.0
#提供外网访问,不对ip进行绑定,原理同redis的bind ip
bind_ip = 0.0.0.0

  1. 按照上述方式重启服务,这里我使用navicat进行连接
  • 没有设置密码
    就在验证那里选择None
    登录步骤
  • 如果按照上述设置密码之后
    在验证哪里选择password,输入上述在admin中配置的密码与账号
    登录描述

五、SpringBoot整合

最后我们在java中将mongodb整合进来

  1. pom依赖
<!-- mongodb -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

需要注意的是这里的mongodb还是需要和对应的SpringBoot版本匹配,这里我就不多做建议了
2. yml配置

data:
  mongodb:
    uri: mongodb://你的账号:你的密码@你的公网地址:27017/分配的数据库

注意如果遇到如下错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mongo' defined in class path resource [org/springframework/boot/autoconfigure/mongo/MongoAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.mongodb.client.MongoClient]: Factory method 'mongo' threw exception; nested exception is java.lang.IllegalArgumentException: The connection string is invalid. Connection strings must start with either 'mongodb://' or 'mongodb+srv://
        at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:635) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336) ~[spring-beans-5.2.8.RELEASE.jar:5.2.8.RELEASE]
  1. 开启mongo的注解
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;

@SpringBootApplication
@EnableMongoRepositories
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

如果遇到错误多半是因为uri没有配置正确,好好检查一下就可以了。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了mongodb的使用,而mongodb在使用中遇到的常用命令我会在下一篇文章中讲到,尽情关注

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MongoDB是一种NoSQL数据库,具有广泛的应用场景。在社交场景中,可以使用MongoDB存储用户信息和朋友圈信息,并通过地理位置索引实现附近的人、地点等功能。在游戏场景中,可以使用MongoDB存储游戏用户信息、装备和积分等,并以内嵌文档的形式存储,方便查询和高效存储。在物流场景中,可以使用MongoDB存储订单信息,并以内嵌数组的形式存储订单状态的变更,方便查询。在物联网场景中,可以使用MongoDB存储智能设备信息和设备汇报的日志信息,并进行多维度的分析。在视频直播中,可以使用MongoDB存储用户信息和点赞互动信息等\[1\]。 如果你想了解更多关于MongoDB索引的信息,你可以参考官方文档,其中包括索引的数据结构、索引的管理操作以及索引的查看\[2\]。 对于MongoDB入门使用,你可以按照以下步骤进行: 1. 下载并安装MongoDB。 2. 创建一个数据库。 3. 插入数据到数据库中。 4. 查询和更新数据。 5. 学习如何使用索引来提高查询性能。 6. 学习如何备份和恢复数据。 7. 学习如何进行数据复制和故障恢复。 在配置MongoDB时,你可以根据需要修改配置文件,例如设置日志输出的目标、存储数据的目录、启用持久性日志等。你还可以指定MongoDB实例绑定的IP和端口\[3\]。 希望这些信息对你有帮助,如果你有任何进一步的问题,请随时提问。 #### 引用[.reference_title] - *1* *2* *3* [MongoDB快速入门学习](https://blog.csdn.net/huangjhai/article/details/121305718)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

远方的雁

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

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

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

打赏作者

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

抵扣说明:

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

余额充值