在CentOS上部署MongoDB数据库
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,MongoDB简介MongoDB时一款跨平台、面向文档的 数据库。可以实现高性能、高可用性,并且能够轻松扩展。是一个基于分布式文件存储的开源数据库系统,在高负载情况下,添加更多节点,可以保证服务器性能
千家信息网最后更新 2025年02月01日在CentOS上部署MongoDB数据库
MongoDB简介
MongoDB时一款跨平台、面向文档的 数据库。可以实现高性能、高可用性,并且能够轻松扩展。是一个基于分布式文件存储的开源数据库系统,在高负载情况下,添加更多节点,可以保证服务器性能。
MongoDB的特点
- MongoDB的特点包括面向集合存储、模式自由、丰富的查询语句和多级索引、复制集机制、易于水平扩展、可插入存储引擎、跨平台多语言支持等。
- MongoDB安装简单,提供了面向文档存储功能,操作起来比较容易。
- MongoDB提供了复制、高可用性和自动分片功能。如果负载增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上,这就是所谓的分片。
- Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组 。
- MongoDB支持各种编程语言:Ruby、Python、Java、C++、PHP、C#等多种语言。
MongoDB适用领域
MongoDB可以为Web应用提供可扩展的高性能数据存储解决方案。MongoDB主要适用的领域有网站数据、分布式场景、数据缓存和JSON文档格式存储。适合大数据量、高并发、弱事务的互联网应用,其内置的水平扩展机制提供了从几百万到十亿级别的数据处理能力,可以很好的满足Web2.0和移动互联网应用数据存储的要求。
MongoDB的存储结构
MongoDB的存储结构由逻辑存储和物理存储组成。
MongoDB的逻辑结构主要由文档(document)、集合(collection)和数据库(database)三部分组成。其中文档是MongoDB的核心概念,它是MongoDB逻辑存储的最小单元,相当于关系型数据库中的一行记录,多个文档组成集合,集合相当于关系型数据库中的表的概念,多个集合组成数据库。
MongoDB的物理存储结构主要包括数据存储和日志存储。
安装及运行控制
(1)配置YUM源仓库
[root@localhost ~]# vim /etc/yum.repos.d/mongodb.repo [mongodb-org]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc[root@localhost ~]# yum list
(2)安装MongoDB
[root@localhost ~]# yum install mongodb-org -y[root@localhost ~]# vim /etc/mongod.conf //修改主配置文件// net: port: 27017 //监听端口// bindIp: 0.0.0.0 //监听地址//
1)启动mongodb服务并查看端口信息
[root@localhost ~]# systemctl start mongod.servicev[root@localhost ~]# netstat -anpt | grep 27017tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 14604/mongod
2)连接并访问数据库
[root@localhost ~]# /usr/bin/mongo....//省略2018-07-17T09:54:54.595+0800 I CONTROL [initandlisten] > > db.version() //查看版本信息//3.6.6> show dbs; //查看数据库//admin 0.000GBconfig 0.000GBlocal 0.000GBschool 0.000GB> db.getMongo() //查看当前数据库机器的连接地址//connection to 127.0.0.1:27017
(3)开启多实例
1)在单台服务器资源充分的情况下,可以使用多实列,以便充分使用服务器资源。具体步骤如下:
cp -p /etc/mongod.conf /etc/mongod2.conf //复制主配置文件//vim /etc/mongod2.conf //修改主配置文件// path: /data/mongodb/mongod2.log //日志存放位置// dbPath: /data/mongodb/mongo //数据存放位置// port: 27018 //端口号//mkdir -p /data/mongodb/ //创建日志存放目录//cd /data/mongodb/mkdir mongotouch mongod2.log //创建日志文件//chmod 777 mongod2.log //提升权限//mongod -f /etc/mongod2.conf //启动服务//[root@localhost mongo]# netstat -ntap | grep mongod //查看端口//tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 14604/mongod tcp 0 0 0.0.0.0:27018 0.0.0.0:* LISTEN 15552/mongod
2)进入端口号为27018的数据库
[root@localhost mongo]# mongo --port 27018 MongoDB shell version v3.6.6connecting to: mongodb://127.0.0.1:27018/MongoDB server version: 3.6.6.....//省略//>
MongoDB基本操作
(1)mongoDB数据库的增、删、改、查操作。
> use school //不存在会创建,不建立集合又会删除//> db.createCollection('info') //创建集合//> show collections //查看集合(表),也可以使用show tables查看//info> db.info.insert({"id":1,"name":"jack"}) //插入数据记录//WriteResult({ "nInserted" : 1 })> db.info.find() //查看数据信息//{ "_id" : ObjectId("5b4d59fb97ae83a938d0e8b3"), "id" : 1, "name" : "jack" }> db.info.update({"id":1},{$set:{"name":"tom"}}) //更改//WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.info.find(){ "_id" : ObjectId("5b4d59fb97ae83a938d0e8b3"), "id" : 1, "name" : "tom" }> db.info.drop() //删除集合//true> db.dropDatabase() //删除数据库//{ "dropped" : "school", "ok" : 1 }> show dbsadmin 0.000GBconfig 0.000GBlocal 0.000GB
MongoDB的日常维护
主要包括:数据库的备份恢复、安全管理和数据库状态监控。
1)备份与恢复管理
在MongoDB中备份管理包括导入导出、备份与恢复、复制数据库和克隆集合等操作。
导出操作[root@bogon ~]# mongoexport -d kgc -c users -o /opt/users.json //适用于只有一个实例// mongoexport -h 127.0.0.1:27018 -d school -c test -o /opt/test.json //适用于有两个实列//导入操作[root@bogon opt]# mongoimport -d kgc -c user1 --file users.json //适用于只有一个实例// mongoimport -h=127.0.0.1:27018 -d school -c txt --file test.json //适用于有两个实列//条件操作[root@bogon opt]# mongoexport -d kgc -c user1 -q '{"id":{"$eq":10}}' -o /opt/top10.json
2)备份与恢复、复制数据库。
[root@bogon opt]# mkdir /backup //创建备份目录//[root@bogon opt]# mongodump -d kgc -o /backup/ #备份[root@bogon backup]# mongorestore -d kgc2 --dir=/backup/kgc #恢复>db.copyDatabase("kgc","kgc2") //复制数据库//
3)克隆集合
mongo --port 27018 db.runCommand({"cloneCollection":"kgc.users","from":"192.168.235.190:27017"}
4)创建管理用户
> use admin> db.createUser({"user":"root","pwd":"123","roles":["root"]})> db.auth("root","123")
数据
数据库
存储
备份
文档
文件
服务
日志
结构
查询
管理
配置
信息
实例
服务器
端口
逻辑
应用
支持
两个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
惠民县委网络安全和信息化委员会
网络技术挑战赛的作品
北京运维管理软件开发方案
网络安全管理局视频
网络安全口令教学视频
数据库设计方案分析
计算机专业可以做软件开发吗
电脑金蝶服务器ip地址
网络安全重点工作排查报告
共享网络安全便捷
功能管理服务器4
软件开发协议 中英文
树莓派采集数据上传服务器
校园网络安全论文提纲
网络技术研发高校专项
深圳app软件开发价格
计算机网络安全有哪些风险
rust去哪个服务器
网络安全工程师证书哪里领
网络安全与民族文化继承
确保网络安全的基本思路
钉钉访问数据库
单核苷酸变异注释分析数据库
数据库接口可以修改吗
数据库更改创建时间
用手机能做软件开发
网络技术信息安全管理定义
tcp udp软件开发
随随科技互联网
电子表格引用别的表数据库