mongodb的安装与使用

  • 前言
  • 一、linux下载
  • 二、mongodb配置
  • 三、 mongodb服务管理
    • 启动
    • 服务查看
    • 停止
  • 四、远程连接
  • 五、SpringBoot整合
  • 总结

前言

本文主要针对一些项目的部署服务器在使用方面用到了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在使用中遇到的常用命令我会在下一篇文章中讲到,尽情关注

mongodb入门到使用(上)相关推荐

  1. mongoDB 入门指南、示例

    http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html mongoDB 入门指南.示例 上一篇:简单介绍mongoDB 一.准备工作 ...

  2. MongoDB入门基础知识

    一.MongoDB介绍 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为web应用提供可扩展的高性能数据存储解决方案. MongoDB是一种可扩展的敏捷NoSQL数据库,其中M ...

  3. 探花交友_第2章-完善个人信息与MongoDB入门

    探花交友_第2章-完善个人信息与MongoDB入门 文章目录 探花交友_第2章-完善个人信息与MongoDB入门 1.完善个人信息 1.1.图片上传 1.1.1.图片存储解决方案 1.1.2.阿里云O ...

  4. MongoDB 入门教程实战学习笔记-31-mongo 聚合查询管道 Aggregation Pipieline

    aggregation 聚合操作处理数据记录并返回计算结果. 聚合操作将多个文档中的值组合在一起, 并且可以对分组数据执行各种操作以返回单个结果. mongodb 提供了三种执行聚合的方法: 聚合管道 ...

  5. php mongodb插入中文,mongodb入门-5插入

    mongodb入门-5插入 对于每一个数据库来说必不可少的是增删改查.先介绍一下增,也就是插入. 对比四个操作,在mongodb中最简单是插入.在mongodb中插入就是使用insret命令.在使用这 ...

  6. 【MongoDB入门】

    2. MongoDB入门 在探花交友APP中,会涉及很多的数据保存,比如用户的动态,点赞信息,评论信息,位置信息等.这些数据有一下的特点: 海量数据 读多写少 数据价值低 地址位置相关数据 更新十分频 ...

  7. 比较MongoDB在公有云上的性能:AWS、Azure和Digital Ocean

    比较MongoDB在公有云上的性能:AWS.Azure和Digital Ocean 英文原文: http://blog.mongodirector.com/comparing-mongodb-perf ...

  8. mongodb入门的几篇文章

    2019独角兽企业重金招聘Python工程师标准>>> mongoDB 入门指南.示例 比较简洁概要的描述了mongodb中常用的操作. 8天学通MongoDB 从安装,简单的增删改 ...

  9. 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目

    原文:http://www.techweb.com.cn/news/2017-07-31/2566452.shtml 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目 2017. ...

  10. linux模拟树莓派,树莓派使用入门:树莓派上的模拟器和原生 Linux 游戏

    原标题:树莓派使用入门:树莓派上的模拟器和原生 Linux 游戏 树莓派是一个很棒的游戏平台.在我们的系列文章的第九篇中学习如何开始使用树莓派. -- Anderson Silva 回到我们关于树莓派 ...

最新文章

  1. Day20 Ajax
  2. Volley框架学习
  3. Linux设备驱动--块设备(三)之程序设计(转)
  4. php和python对比-python与java、php、go的优势对比
  5. org.apache.hadoop.io
  6. 海南医养康养健康文旅-健康中国·万祥军:谋定国际化破题
  7. 009-MailUtils工具类模板
  8. 在Ubuntu下如何切换到超级用户
  9. mac php memcache扩展,Mac下PHP安装Memcache扩展
  10. c语言程序设计学习中的问题与对策,C语言程序设计学习中的问题与对策.pdf
  11. 请不要重复犯我在学习Python和Linux系统上的错误
  12. Win8:Setting
  13. 一文细数73个Vision transformer家族成员
  14. 全球与中国电子探针市场现状及未来发展趋势2022-2028
  15. 华硕服务器主板型号命名规则,【华硕A85X评测】华硕2012年主板命名规则详解-中关村在线...
  16. 希尔伯特变换的本质是什么?
  17. 将APPDATA 迁出C盘
  18. 热酷网邱金柱:技术牛人是核心竞争力
  19. MAC打开outlook提示”正在修复 Main Profile“
  20. Vue install 失败的一些解决办法

热门文章

  1. python火车票查询工具tkinter_Python 实现一个火车票查询的工具
  2. cocharan-Armitage trend test
  3. 线性代数 --- 如何判断矩阵是否可逆(奇异与非奇异)?
  4. 【AUTOSAR-COM】-9.1-Tx/Rx Ipdu两种处理模式:IMMEDIATE和DEFERRED详解
  5. PDF怎么合并呢?speedPDF帮您免费在线合并PDF文档
  6. DELMIA软件:机器人工作站中旋转台外围设备的运动仿真操作方法
  7. Bilibili漫画抓取思路
  8. OEM Certificate(OEM证书)介绍及浅析
  9. 补足每天的饮食营养,还得数神奇的小麦胚芽
  10. 遥感技术手段提取城乡建筑用地