EmmmuaCode EmmmuaCode
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
    • JVM虚拟机
    • JUC并发编程
  • JavaWeb

    • Servlet
    • MVC
    • filter|listener
  • HTML
  • CSS
  • JavaScript
  • Vue
  • uni-app
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python基础
  • 数据分析
  • Hadoop
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
    • ShardingSphere
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
Github (opens new window)

wufan

海内存知己,天涯若比邻。
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
    • JVM虚拟机
    • JUC并发编程
  • JavaWeb

    • Servlet
    • MVC
    • filter|listener
  • HTML
  • CSS
  • JavaScript
  • Vue
  • uni-app
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python基础
  • 数据分析
  • Hadoop
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
    • ShardingSphere
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
Github (opens new window)
  • MySQL-基础

    • MySQL-简介
    • MySQL-CRUD
    • MySQL-函数
    • MySQL 多表查询
    • MySQL 约束与自增长
    • MySQL 索引与事务
    • MySQL 表类型和存储引擎
    • MySQL 视图与管理
  • MySQL-进阶

    • MySQL 存储引擎
    • MySQL 索引
    • MySQL SQL优化
    • MySQL 视图/存储过程/触发器
    • MySQL 锁
    • MySQL InnoDB引擎
    • MySQL 管理
  • MySQL-运维

    • MySQL 日志
    • MySQL 主从复制
    • MySQL 分库分表
    • MySQL 读写分离
  • NoSQL 数据库概论

    • 非关系型数据库
    • NoSQL数据库理论基础
    • NoSQL数据库分类
  • Redis

    • Redis 数据库简介
    • Redis 概述安装
    • 常用五大数据类型
    • Redis 配置文件
    • Redis 发布和订阅
    • Redis 新数据类型
    • Redis Java整合
    • Redis 事务与锁
    • Redis 持久化操作
    • Redis 主从复制
    • Redis 集群搭建
    • Redis 缓存问题
    • Redis 分布式锁
    • Redisson 的应用
    • Redis 6.0新功能
  • MongoDB

    • MongoDB 相关概念
    • MongoDB 安装
      • Windows系统中的安装启动
      • Shell连接(mongo命令)
      • Compass-图形化界面客户端
      • Linux系统中的安装启动和连接
    • MongoDB 常用命令
    • MongoDB 索引-Index
    • MongoDB 整合Java案例
    • MongoDB 集群和安全
  • HBase

    • HBase简介
    • HBase系统架构
    • HBase数据定义
    • HBase数据操作
    • HBase基本原理
  • MyBatis

    • MyBatis 入门案例
    • XML 配置
    • XML 映射文件
    • 动态SQL
    • 缓存
    • MyBatis的逆向工程
    • 分页插件
  • MyBatis-Plus

    • MyBatis-Plus 简介
    • MyBatis-Plus 入门案例
    • MyBatis-Plus 基本CRUD
    • MyBatis-Plus 常用注解
    • 条件构造器和常用接口
    • MyBatis-Plus 插件
    • MyBatis-Plus 通用枚举
    • MyBatis-Plus 代码生成器
    • MyBatis-Plus 多数据源
    • MyBatisX插件
  • ShardingSphere

    • ShardingSphere_高性能架构模式
    • ShardingSphere 简介
    • ShardingSphere 主从同步
    • ShardingSphere_JDBC 读写分离
    • ShardingSphere-JDBC垂直分片
    • ShardingSphere-JDBC水平分片
    • 启动ShardingSphere-Proxy
    • ShardingSphere-Proxy读写分离
    • ShardingSphere-Proxy垂直分片
  • studynotes
  • database
  • MongoDB
wufan
2022-06-24
目录

MongoDB 安装

# MongoDB 安装

# Windows系统中的安装启动

第一步:下载安装包

MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:

Download MongoDB (opens new window)

MongoDB所有历史版本下载:http://dl.mongodb.org/dl/linux

image

根据上图所示下载 zip 包。

提示:版本的选择:

MongoDB的版本命名规范如:x.y.z;

y为奇数时表示当前版本为开发版,如:1.5.2、4.1.13;

y为偶数时表示当前版本为稳定版,如:1.6.3、4.0.10;

z是修正版本号,数字越大越好。

详情:http://docs.mongodb.org/manual/release-notes/#release-version-numbers

第二步:解压安装启动

将压缩包解压到一个目录中。

在解压目录中,手动建立一个目录用于存放数据文件,如 data/db

方式1:命令行参数方式启动服务

在 bin 目录中打开命令行提示符,输入如下命令:

mongod --dbpath=..\data\db
1

我们在启动信息中可以看到,mongoDB的默认端口是27017,如果我们想改变默认的启动端口,可以通过--port来指定端口。为了方便我们每次启动,可以将安装目录的bin目录设置到环境变量的path中, bin 目录下是一些常用命令,比如 mongod 启动服务用的,mongo 客户端连接服务用的。

方式2:配置文件方式启动服务

在解压目录中新建 config 文件夹,该文件夹中新建配置文件 mongod.conf ,内如参考如下:

storage:
	#The directory where the mongod instance stores its data.Default Value is "\data\db" on Windows.
	dbPath: D:\DevelopTools\mongoDB\data
1
2
3

详细配置项内容可以参考官方文档:https://docs.mongodb.com/manual/reference/configuration-options/

注意

  1. 配置文件中如果使用双引号,比如路径地址,自动会将双引号的内容转义。如果不转义,则会报错:
error-parsing-yaml-config-file-yaml-cpp-error-at-line-3-column-15-unknown-escape-character-d
1

解决:

a. 对\换成/或\\

b.如果路径中没有空格,则无需加引号。

  1. 配置文件中不能以Tab分割字段

解决:

将其转换成空格。

启动方式:

mongod -f ../config/mongod.conf
或
mongod --config ../config/mongod.conf
1
2
3

更多参数配置:

systemLog:
	destination: file
	#The path of the log file to which mongod or mongos should send all diagnostic logging information
	path: "D:/02_Server/DBServer/mongodb-win32-x86_64-2008plus-ssl-4.0.1/log/mongod.log"
	logAppend: true
storage:
	journal:
		enabled: true
	#The directory where the mongod instance stores its data.Default Value is "/data/db".
	dbPath: "D:/02_Server/DBServer/mongodb-win32-x86_64-2008plus-ssl-4.0.1/data"
net:
#bindIp: 127.0.0.1
	port: 27017
setParameter:
	enableLocalhostAuthBypass: false
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# Shell连接(mongo命令)

在命令提示符输入以下shell命令即可完成登陆

mongo
或
mongo --host=127.0.0.1 --port=27017
1
2
3

查看已经有的数据库

>show dbs
1

退出mongodb

exit
1

更多参数可以通过帮助查看:

mongo --help
1

提示:

MongoDB javascript shell是一个基于javascript的解释器,故是支持js程序的。

# Compass-图形化界面客户端

到MongoDB官网下载MongoDB Compass,地址

  • Download Compass (opens new window)

image

在打开的界面中,输入主机地址,端口等相关信息,点击连接:

image

点击connect

# Linux系统中的安装启动和连接

目标:在Linux中部署一个单机的MongoDB,作为生产环境下使用。

提示:和Windows下操作差不多。

步骤如下:

  1. 先到官网下载压缩包 mongod-linux-x86_64-4.0.10.tgz 。

  2. 上传压缩包到Linux中,解压到当前目录:

tar -xvf mongodb-linux-x86_64-4.0.10.tgz
1
  1. 移动解压后的文件夹到指定的目录中:
mv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb
1
  1. 新建几个目录,分别用来存储数据和日志:
#数据存储目录
mkdir -p /mongodb/single/data/db
#日志存储目录
mkdir -p /mongodb/single/log
1
2
3
4
  1. 新建并修改配置文件
vim /mongodb/single/mongod.conf
1

配置文件的内容如下:

systemLog:
  #MongoDB发送所有日志输出的目标指定为文件
  # #The path of the log file to which mongod or mongos should send all diagnostic   logging information 
  destination: file
  #mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径
  path: "/mongodb/single/log/mongod.log"
  #当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。
  logAppend: true
storage:
  #mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。
  ##The directory where the mongod instance stores its data.Default Value is "/data/db".
  dbPath: "/mongodb/single/data/db"
  journal:
    #启用或禁用持久性日志以确保数据文件保持有效和可恢复。
    enabled: true
processManagement:
  #启用在后台运行mongos或mongod进程的守护进程模式。
  fork: true
net:
  #服务实例绑定的IP,默认是localhost,115.60.97.40服务器内网地址
  bindIp: localhost,115.60.97.40
  #bindIp
  #绑定的端口,默认是27017
  port: 27017
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  1. 启动MongoDB服务
 




[root@master single]# /usr/local/mongodb/bin/mongod --config mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 2923
child process started successfully, parent exiting
1
2
3
4

注意:

如果启动后不是 successfully ,则是启动失败了。原因基本上就是配置文件有问题。

通过进程来查看服务是否启动了:

[root@master single]# ps -ef | grep mongod
root       2923      1  0 17:32 ?        00:00:00 /usr/local/mongodb/bin/mongod --config mongod.conf
root       2956   1650  0 17:33 pts/0    00:00:00 grep --color=auto mongod
1
2
3
  1. 分别使用mongo命令和compass工具来连接测试。

配置mongo命令到环境变量,修改 /etc/profile 文件,在文件末尾加上如下代码

vim  /etc/profile 
export PATH=$PATH:/usr/local/mongodb/bin
1
2

然后执行命令 source /etc/profile

[root@master bin]# mongo
MongoDB shell version v4.0.10
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("b69fa065-b5c2-4bc2-a282-5c34edd4740a") }
MongoDB server version: 4.0.10
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
        http://docs.mongodb.org/
Questions? Try the support group
        http://groups.google.com/group/mongodb-user
Server has startup warnings:
1
2
3
4
5
6
7
8
9
10
11
12

提示:如果远程连接不上,需要配置防火墙放行,或直接关闭linux防火墙

#查看防火墙状态
systemctl status firewalld
#临时关闭防火墙
systemctl stop firewalld
#开机禁止启动防火墙
systemctl disable firewalld
1
2
3
4
5
6
  • compass工具

image

  • 连接,并查看数据库

image

  1. 停止关闭服务

    停止服务的方式有两种:快速关闭和标准关闭,下面依次说明:

  • 快速关闭方法(快速,简单,数据可能会出错)

目标:通过系统的kill命令直接杀死进程:

杀完要检查一下,避免有的没有杀掉。

#通过进程编号关闭节点
kill -2 54410
1
2

如果一旦是因为数据损坏,则需要进行如下操作(了解):

删除lock文件:

rm -f /mongodb/single/data/db/*.lock
1

修复数据:

/usr/local/mongdb/bin/mongod --repair --dbpath=/mongodb/single/data/db
1
  • 标准的关闭方法(数据不容易出错,但麻烦):

目标:通过mongo客户端中的shutdownServer命令来关闭服务

主要的操作步骤参考如下:

#客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。
mongo --port 27017
#切换到admin库
use admin
#关闭服务
db.shutdownServer()
1
2
3
4
5
6
#MongoDB
上次更新: 2024/04/21, 09:42:22
MongoDB 相关概念
MongoDB 常用命令

← MongoDB 相关概念 MongoDB 常用命令→

最近更新
01
微信支付功能的实现与流程
11-21
02
购物车与结算区域的深入优化与功能完善
11-21
03
购物车与结算区域的功能实现与优化
11-21
更多文章>
Theme by Vdoing | Copyright © 2023-2024 EmmmuaCode | 黔ICP备2022009864号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式