安装部署 MongoDB数据库安装环境准备及使用讲解
MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的非关系型开源数据库系统。其优势在于可以存放海量数据,具备强大的查询功能,是一个独立的面向集合文档形式的。
应用平台:MongoDB 支持 Unix Linux Windows 等系统平台。
MySQL 与 MongoDB 区别:
面向集合:数据被分组存储在数据集中,被称为一个集合。
面向文档:存储在集合中的文档,被存储为键值对的形式。
高效二进制数据存储:使用二进制格式存储,可以保存任何类型的数据对象。
操作性:
完全索引:可以在任意属性上建立索引,包含内部对象。以提高查询的速度。
强大的聚合工具:MongoDB 除了提供丰富的查询功能外,还提供了强大的聚合工具,如 count group 等。
支持 Perl PHP Java C# JavaScript Ruby Python C 和 C++ 语言的驱动程序。
可用性:
支持复制和数据恢复:MongoDB 支持主从复制机制,可以实现数据的备份、故障恢复、读扩展等功能。而基于副本集的复制机制提供了自动故障恢复的功能,确保了集群数据不会丢失。
自动处理分片:MongoDB 支持集群自动切分数据,对数据进行切分可以使用集群存储更多的数据,实现更大的负载,也能保证存储的负载均衡。
2.MongoDB 适用场景网站实时数据处理:它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高伸缩性。
缓存:它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。
高伸缩性的场景:非常适合由数十台或数百台服务器组成的数据库。
不适用于的场景如下:
要求高度事务性的系统(例如:银行和会计系统)传统的商业只能应用。复杂的跨文档(表)级联查询。
3.MongoDB 存储结构逻辑结构:
文档 document:存放的数据。
集合 collection:由多个文档组成,相当于表,但不同的是集合是无固定架构。
数据库 database:多个集合组成的数据库。
物理结构:
.wt 文件:每个表或索引对应一个命名空间,数据量增加,文件数量增多,存储了分配和正在使用的磁盘空间。
数据文件:存放数据的实体,并且使用预分配空间机制。
日志文件:系统日志文件、journal 日志文件(用于 MongoDB 崩溃恢复的保障)、oplog 复制操作日志文件(相当于 MySQL 的 BinLog 文件)、慢查询日志(查询操作超出指定时间的语句)
物理结构就是真正存放数据的位置。
4.MongoDB 数据类型[root@MongoDB ~]# ulimit -n 25000 # 同一时间最多开启的文件数
[root@MongoDB ~]# ulimit -u 25000 # 用户最多开启的程序数目
[root@MongoDB ~]# echo 0 /proc/sys/vm/zone_reclaim_mode # 设置内核参数. 当某个节点内存不足时可以借用其它节点的内存
[root@MongoDB ~]# sysctl -w vm.zone_reclaim_mode=0
vm.zone_reclaim_mode = 0
[root@MongoDB ~]# echo never /sys/kernel/mm/transparent_hugepage/enabled
[root@MongoDB ~]# echo never /sys/kernel/mm/transparent_hugepage/defrag
因为下面安装的版本为 4.4.5,而 MongoDB 4 版本以上的 /bin 目录中的工具进行了分离,所以需要安装:传送门
[root@MongoDB ~]# tar xf mongodb-linux-x86_64-rhel70-4.4.5.tgz
[root@MongoDB ~]# mv mongodb-linux-x86_64-rhel70-4.4.5 /usr/local/mongodb
[root@MongoDB ~]# mv mongodb-database-tools-rhel70-x86_64-100.3.1/bin/* /usr/local/mongodb/bin/
[root@MongoDB ~]# echo export PATH=/usr/local/mongodb/bin:\$PATH /etc/profile
[root@MongoDB ~]# source /etc/profile 3.创建 MongoDB 存储目录以及配置文件 [root@MongoDB ~]# mkdir /usr/local/mongodb/{data,logs,conf}
[root@MongoDB ~]# touch /usr/local/mongodb/logs/mongodb.log
[root@MongoDB ~]# chmod 777 /usr/local/mongodb/logs/mongodb.log
[root@MongoDB ~]# cat END /usr/local/mongodb/conf/mongodb.conf
bind_ip=192.168.1.1
port=27017
dbpath=/usr/local/mongodb/data/
logpath=/usr/local/mongodb/logs/mongodb.log
logappend=true # 日志以文件追加的方式写入
fork=true # 通过后台运行 MongoDB 服务
maxConns=5000 # MongoDB 最大连接数
4.编写服务启动脚本 [root@MongoDB ~]# mongod -f /usr/local/mongodb/conf/mongodb.conf # 启动 MongoDB 服务
[root@MongoDB ~]# mongo 192.168.1.1:27017 # 登录验证
[root@MongoDB ~]# mongod -f /usr/local/mongodb/conf/mongodb.conf shutdown # 关闭 MongoDB 服务
[root@MongoDB ~]# vim /etc/init.d/mongodb
#!/bin/bash
case $1 in
start)
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf;;
stop)
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf shutdown;;
restart)
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf shutdown
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf;;
esac
[root@MongoDB ~]# chmod +x /etc/init.d/mongodb # 添加执行权限
[root@MongoDB ~]# /etc/init.d/mongodb start # 启动
登录验证
[root@MongoDB ~]# mongo 192.168.1.1:27017 # 登录 MongoDB 数据库 (默认在 test 库中)show databases # 查看数据库中所有库
admin 0.000GB
config 0.000GB
local 0.000GB
db.getName() # 查看当前登录库
MongoDB 安装完后的默认 4 个库:
admin:存放了有关数据库账号的相关信息。
config:用于分片集群环境,存放分片相关的元数据信息。
local:用于存储限于本地单台服务器的任意集合(因为该库并不会被复制到从节点,简单来说就是没有冗余性)
test:MongoDB 默认创建的一个测试库,连接 MongoDB 服务时,如果不指定连接的具体数据库,默认就会连接到 test 库。
一、MongoDB 简介MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的非关系型开源数据库系统。其优势在于可以存放海量数据,具备强大的查询功能,是一个独立的面向集合文档形式的。
应用平台:MongoDB 支持 Unix Linux Windows 等系统平台。
MySQL 与 MongoDB 区别:
面向集合:数据被分组存储在数据集中,被称为一个集合。
面向文档:存储在集合中的文档,被存储为键值对的形式。
高效二进制数据存储:使用二进制格式存储,可以保存任何类型的数据对象。
操作性:
完全索引:可以在任意属性上建立索引,包含内部对象。以提高查询的速度。
强大的聚合工具:MongoDB 除了提供丰富的查询功能外,还提供了强大的聚合工具,如 count group 等。
支持 Perl PHP Java C# JavaScript Ruby Python C 和 C++ 语言的驱动程序。
可用性:
支持复制和数据恢复:MongoDB 支持主从复制机制,可以实现数据的备份、故障恢复、读扩展等功能。而基于副本集的复制机制提供了自动故障恢复的功能,确保了集群数据不会丢失。
自动处理分片:MongoDB 支持集群自动切分数据,对数据进行切分可以使用集群存储更多的数据,实现更大的负载,也能保证存储的负载均衡。
2.MongoDB 适用场景网站实时数据处理:它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高伸缩性。
缓存:它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。
高伸缩性的场景:非常适合由数十台或数百台服务器组成的数据库。
不适用于的场景如下:
要求高度事务性的系统(例如:银行和会计系统)传统的商业只能应用。复杂的跨文档(表)级联查询。
3.MongoDB 存储结构逻辑结构:
文档 document:存放的数据。
集合 collection:由多个文档组成,相当于表,但不同的是集合是无固定架构。
数据库 database:多个集合组成的数据库。
物理结构:
.wt 文件:每个表或索引对应一个命名空间,数据量增加,文件数量增多,存储了分配和正在使用的磁盘空间。
数据文件:存放数据的实体,并且使用预分配空间机制。
日志文件:系统日志文件、journal 日志文件(用于 MongoDB 崩溃恢复的保障)、oplog 复制操作日志文件(相当于 MySQL 的 BinLog 文件)、慢查询日志(查询操作超出指定时间的语句)
物理结构就是真正存放数据的位置。
4.MongoDB 数据类型[root@MongoDB ~]# ulimit -n 25000 # 同一时间最多开启的文件数
[root@MongoDB ~]# ulimit -u 25000 # 用户最多开启的程序数目
[root@MongoDB ~]# echo 0 /proc/sys/vm/zone_reclaim_mode # 设置内核参数. 当某个节点内存不足时可以借用其它节点的内存
[root@MongoDB ~]# sysctl -w vm.zone_reclaim_mode=0
vm.zone_reclaim_mode = 0
[root@MongoDB ~]# echo never /sys/kernel/mm/transparent_hugepage/enabled
[root@MongoDB ~]# echo never /sys/kernel/mm/transparent_hugepage/defrag
因为下面安装的版本为 4.4.5,而 MongoDB 4 版本以上的 /bin 目录中的工具进行了分离,所以需要安装:传送门
[root@MongoDB ~]# tar xf mongodb-linux-x86_64-rhel70-4.4.5.tgz
[root@MongoDB ~]# mv mongodb-linux-x86_64-rhel70-4.4.5 /usr/local/mongodb
[root@MongoDB ~]# mv mongodb-database-tools-rhel70-x86_64-100.3.1/bin/* /usr/local/mongodb/bin/
[root@MongoDB ~]# echo export PATH=/usr/local/mongodb/bin:\$PATH /etc/profile
[root@MongoDB ~]# source /etc/profile 3.创建 MongoDB 存储目录以及配置文件 [root@MongoDB ~]# mkdir /usr/local/mongodb/{data,logs,conf}
[root@MongoDB ~]# touch /usr/local/mongodb/logs/mongodb.log
[root@MongoDB ~]# chmod 777 /usr/local/mongodb/logs/mongodb.log
[root@MongoDB ~]# cat END /usr/local/mongodb/conf/mongodb.conf
bind_ip=192.168.1.1
port=27017
dbpath=/usr/local/mongodb/data/
logpath=/usr/local/mongodb/logs/mongodb.log
logappend=true # 日志以文件追加的方式写入
fork=true # 通过后台运行 MongoDB 服务
maxConns=5000 # MongoDB 最大连接数
4.编写服务启动脚本 [root@MongoDB ~]# mongod -f /usr/local/mongodb/conf/mongodb.conf # 启动 MongoDB 服务
[root@MongoDB ~]# mongo 192.168.1.1:27017 # 登录验证
[root@MongoDB ~]# mongod -f /usr/local/mongodb/conf/mongodb.conf shutdown # 关闭 MongoDB 服务
[root@MongoDB ~]# vim /etc/init.d/mongodb
#!/bin/bash
case $1 in
start)
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf;;
stop)
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf shutdown;;
restart)
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf shutdown
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf;;
esac
[root@MongoDB ~]# chmod +x /etc/init.d/mongodb # 添加执行权限
[root@MongoDB ~]# /etc/init.d/mongodb start # 启动
登录验证
[root@MongoDB ~]# mongo 192.168.1.1:27017 # 登录 MongoDB 数据库 (默认在 test 库中)show databases # 查看数据库中所有库
admin 0.000GB
config 0.000GB
local 0.000GB
db.getName() # 查看当前登录库
MongoDB 安装完后的默认 4 个库:
admin:存放了有关数据库账号的相关信息。
config:用于分片集群环境,存放分片相关的元数据信息。
local:用于存储限于本地单台服务器的任意集合(因为该库并不会被复制到从节点,简单来说就是没有冗余性)
test:MongoDB 默认创建的一个测试库,连接 MongoDB 服务时,如果不指定连接的具体数据库,默认就会连接到 test 库。
以上就是安装部署 MongoDB数据库安装环境准备及使用讲解的详细内容,更多关于MongoDB数据库部署环境准备的资料请关注其它相关文章!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 安装部署 MongoDB数据库安装环境准备及使用讲解
相关文章
- Node.js学习笔记(四)——NodeJS访问MongoDB与MySQL数据库
- MongoDB:在 Java 中使用 MongoDB
- MongoDB数据库如何安装注册windows服务
- Linux下MongoDB数据库实现自动备份详解
- MongoDB 安装成为Windows服务详解数据库
- MongoDB性能优化技巧:提升查询效率(mongodb查询优化)
- 一步一步学习:MongoDB 安装与使用(mongodb安装使用)
- MongoDB的CURD操作——掌控数据库的力量(mongodbcurd)
- MongoDB配置安全身份认证机制(mongodb身份认证)
- MongoDB使用多表联查的实现办法(mongodb多表联查)
- 查询MongoDB中的相等查询实践(mongodb相等)
- 解决方案解构数据库:MongoDB解决方案(mongodb设计)
- MongoDB字段排序:轻松一步到位(mongodb字段排序)
- 本高MongoDB升级:云数据库迎来最新版本(云数据库mongodb版)
- 设计MongoDB模式设计:优化数据架构(mongodb模式)
- 让MongoDB跟随你的时区:设置MongoDB时区(mongodb设置时区)
- 使用MongoDB快速导出数据库(mongodb导出数据库)
- MongoDB实战:从入门到精通(mongodb实战)
- 快速实现MongoDB数据库切换技巧(mongodb切换数据库)
- Mongodb存储结构解析:无模式文档数据库的核心特性(mongodb存储结构)
- 掌握MongoDB登录命令行的技巧(mongodb登录命令行)
- Python中如何调用MongoDB数据库?(调用mongodb)
- 『MongoDB:强大而灵活的NoSQL数据库』(mongodb特点)
- MongoDB权限设置之道(mongodb设置权限)
- MongoDB数据库删除操作:轻松清理空间(mongodb删库)
- 简单易懂的Linux下MongoDB安装教程(linux安装mongodb)
- Mongodb镜像:轻松实现高效数据备份与迁移(mongodb镜像)
- MongoDB操作工具类:增至精彩的数据库之旅!(mongodb操作工具类)
- 使用MongoDB操作工具类简化数据库工作(mongodb操作工具类)
- MongoDB为数据安全开启权限认证(mongodb 权限认证)