mongodb入门到使用(上)
mongodb的安装与使用
- 前言
- 一、linux下载
- 二、mongodb配置
- 三、 mongodb服务管理
- 启动
- 服务查看
- 停止
- 四、远程连接
- 五、SpringBoot整合
- 总结
前言
本文主要针对一些项目的部署服务器在使用方面用到了mongodb,参考解决一些部署方面遇到的问题。
一、linux下载
使用wget下载
wget https://downloads.mongodb.com/linux/mongodb-linux-x86_64-enterprise-rhel70-4.2.8.tgz
解压
tar -zxvf mongodb-linux-x86_64-enterprise-rhel70-4.2.8.tgz
移动文件到指定目录,方便后续配置信息
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
- 载入配置信息
- 进入编辑文件目录文件
vim mongodb.conf
- 编辑信息
# 端口号
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
- 配置全局变量
- 编辑文件
vim /etc/profile
- 相关代码
# Set MongoDB Configration
export PATH=/usr/local/mongodb/bin:$PATH
- 保存配置信息
source /etc/profile
- 配置开启密码
- 进入mongo目录下,编辑配置信息
# 不启用验证权限
#noauth=true
# 启用用户账号权限
auth=true
注意:修改上述两个之后重启mondodb配置才能生效
2. 进入配置全局之后直接输入mongo进入mongo数据库中
3. 进入admin数据库中
use admin
- 配置密码
这里用户名与密码随机设置
db.createUser({user:"你的用户名",pwd:"你的密码",roles:["root"]})
但是后面roles需要根据根据权限进行设置,具体权限参考下图
这里设置成功之后会提示如下信息
Successfully added user: { "user" : "你的用户名", "roles" : [ "root" ] }
- 输入下列命令查看命令是否正确
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之后我们想在本地访问,步骤如下
- 首先进入配置目录,编辑配置信息
vim mongodb.conf
- 修改配置信息
如果bind_ip为127.0.0.1就是只能本机访问,需要修改为0.0.0.0
#提供外网访问,不对ip进行绑定,原理同redis的bind ip
bind_ip = 0.0.0.0
- 按照上述方式重启服务,这里我使用navicat进行连接
- 没有设置密码
就在验证那里选择None
- 如果按照上述设置密码之后
在验证哪里选择password,输入上述在admin中配置的密码与账号
五、SpringBoot整合
最后我们在java中将mongodb整合进来
- 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]
- 开启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入门到使用(上)相关推荐
- mongoDB 入门指南、示例
http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html mongoDB 入门指南.示例 上一篇:简单介绍mongoDB 一.准备工作 ...
- MongoDB入门基础知识
一.MongoDB介绍 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为web应用提供可扩展的高性能数据存储解决方案. MongoDB是一种可扩展的敏捷NoSQL数据库,其中M ...
- 探花交友_第2章-完善个人信息与MongoDB入门
探花交友_第2章-完善个人信息与MongoDB入门 文章目录 探花交友_第2章-完善个人信息与MongoDB入门 1.完善个人信息 1.1.图片上传 1.1.1.图片存储解决方案 1.1.2.阿里云O ...
- MongoDB 入门教程实战学习笔记-31-mongo 聚合查询管道 Aggregation Pipieline
aggregation 聚合操作处理数据记录并返回计算结果. 聚合操作将多个文档中的值组合在一起, 并且可以对分组数据执行各种操作以返回单个结果. mongodb 提供了三种执行聚合的方法: 聚合管道 ...
- php mongodb插入中文,mongodb入门-5插入
mongodb入门-5插入 对于每一个数据库来说必不可少的是增删改查.先介绍一下增,也就是插入. 对比四个操作,在mongodb中最简单是插入.在mongodb中插入就是使用insret命令.在使用这 ...
- 【MongoDB入门】
2. MongoDB入门 在探花交友APP中,会涉及很多的数据保存,比如用户的动态,点赞信息,评论信息,位置信息等.这些数据有一下的特点: 海量数据 读多写少 数据价值低 地址位置相关数据 更新十分频 ...
- 比较MongoDB在公有云上的性能:AWS、Azure和Digital Ocean
比较MongoDB在公有云上的性能:AWS.Azure和Digital Ocean 英文原文: http://blog.mongodirector.com/comparing-mongodb-perf ...
- mongodb入门的几篇文章
2019独角兽企业重金招聘Python工程师标准>>> mongoDB 入门指南.示例 比较简洁概要的描述了mongodb中常用的操作. 8天学通MongoDB 从安装,简单的增删改 ...
- 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目
原文:http://www.techweb.com.cn/news/2017-07-31/2566452.shtml 深度学习动手入门:GitHub上四个超棒的TensorFlow开源项目 2017. ...
- linux模拟树莓派,树莓派使用入门:树莓派上的模拟器和原生 Linux 游戏
原标题:树莓派使用入门:树莓派上的模拟器和原生 Linux 游戏 树莓派是一个很棒的游戏平台.在我们的系列文章的第九篇中学习如何开始使用树莓派. -- Anderson Silva 回到我们关于树莓派 ...
最新文章
- Day20 Ajax
- Volley框架学习
- Linux设备驱动--块设备(三)之程序设计(转)
- php和python对比-python与java、php、go的优势对比
- org.apache.hadoop.io
- 海南医养康养健康文旅-健康中国·万祥军:谋定国际化破题
- 009-MailUtils工具类模板
- 在Ubuntu下如何切换到超级用户
- mac php memcache扩展,Mac下PHP安装Memcache扩展
- c语言程序设计学习中的问题与对策,C语言程序设计学习中的问题与对策.pdf
- 请不要重复犯我在学习Python和Linux系统上的错误
- Win8:Setting
- 一文细数73个Vision transformer家族成员
- 全球与中国电子探针市场现状及未来发展趋势2022-2028
- 华硕服务器主板型号命名规则,【华硕A85X评测】华硕2012年主板命名规则详解-中关村在线...
- 希尔伯特变换的本质是什么?
- 将APPDATA 迁出C盘
- 热酷网邱金柱:技术牛人是核心竞争力
- MAC打开outlook提示”正在修复 Main Profile“
- Vue install 失败的一些解决办法
热门文章
- python火车票查询工具tkinter_Python 实现一个火车票查询的工具
- cocharan-Armitage trend test
- 线性代数 --- 如何判断矩阵是否可逆(奇异与非奇异)?
- 【AUTOSAR-COM】-9.1-Tx/Rx Ipdu两种处理模式:IMMEDIATE和DEFERRED详解
- PDF怎么合并呢?speedPDF帮您免费在线合并PDF文档
- DELMIA软件:机器人工作站中旋转台外围设备的运动仿真操作方法
- Bilibili漫画抓取思路
- OEM Certificate(OEM证书)介绍及浅析
- 补足每天的饮食营养,还得数神奇的小麦胚芽
- 遥感技术手段提取城乡建筑用地