非关系数据库------MongoDB的安装与使用

MongoDB概述

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

MongoDB特点

面向集合存储,易存储对象类型的数据;
模式自由、支持查询、支持动态查询;
支持完全索引,包含内部对象;
支持复制和故障恢复;
使用高效的二进制数据存储,包括大型对象(如视频等);
自动处理碎片,以支持云计算层次的扩展性;
支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言;
文件存储格式为BSON(一种JSON的扩展);
可通过网络访问。

在Linux安装MongoDB

#配置yum源仓库
cd /etc/yum.repos.d/
vim mongodb-org.repo

[mongodb-org]

name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

#安装 MongoDB
yum install mongodb-org -y

#修改配置文件
vim /etc/mongod.conf

#修改第30行的监听地址
bindIp: 0.0.0.0

#开启服务
systemctl start mongod.service

#关闭防火墙和安全功能
systemctl stop firewalld.service
setenforce 0

#查看服务端口状态
netstat -ntap | grep mongod

#复制配置文件,以开启多实例
cp -p /etc/mongod.conf /etc/mongod2.conf

#修改配置文件
vim /etc/mongod2.conf

#第10行,修改日志文件目录
path: /var/log/mongodb/mongod2.log

#第14行,修改数据存储目录
dbPath: /data/mongodb/mongo

#第29行,修改服务端口号
port: 27018

#创建实例的目录和日志文件
mkdir -p /data/mongodb
cd /data/mongodb/
mkdir mongo
touch mongod2.log

#目录授权
chmod 777 mongod2.log

#启动实例
mongod -f /etc/mongod2.conf

#指定实例的端口
mongo --port 27018

#查看服务端口状态
netstat -ntap

MongoDB 基础操作

#查看版本
db.version() 

#查看数据库
show dbs;   

#查看当前数据库机器的连接地址
db.getMongo()  

#显示集合操作命令
db.集合名.help     

#显示用户
show users       

增删改查

use school;
#打开school数据库, 不存在会创建,不建立集合又会删除

db.createCollection(‘info‘)
#创建集合

db.info.insert({"id":1,"name":"zhangsan","hobby":["game","talk"]})
#添加数据

db.info.find()
#查看info集合中所有文档

show collections
#查看数据库中所有集合

db.info.update({"id":10},{$set:{"name":"tom"}})
#更改数据

db.info.remove({"id":2})
#移除info集合中的id2的数据

db.info.drop()
#删除info集合

db.dropDatabase()
#删除数据库  先use到要删的数据库里在删

db.info.count()
#统计有多少条数据

MongoDB 数据类型

String
#字符串,最常用,必须是utf-8

Boolean
#布尔值,true 或者false

Integer
#整数型

Double
#浮点型

Arrays
#数组或者列表,多个值存储到一个键

Object
#用于嵌入文档,即一个值为一个文档

Null
#存储null值

Binary Data
#二进制数据,用于存储二进制数据

Date
#存储当前日期或时间unix时间格式

查看数据类型

a=db.info.findOne({"id":1})
#查找指定记录并赋予别名a

ypeof(a.id)
#查看属性类型

备份与恢复数据

导出工具:mongoexport

导入工具:mongoimport

常见选项:

-h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
--port:代表远程连接的数据库的端口,默认连接的远程端口27017;
-u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
-p,--password:代表连接数据库的账号对应的密码;
-d,--db:代表连接的数据库;
-c,--collection:代表连接数据库中的集合;
-f, --fields:代表集合中的字段,可以根据设置选择导出的字段;
--type:代表导出输出的文件类型,包括csv和json文件;
-o, --out:代表导出的文件名;
-q, --query:代表查询条件;
--skip:跳过指定数量的数据;
--limit:读取指定数量的数据记录;
--sort:对数据进行排序,可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列,如sort({KEY:1})。
for(var i=1;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i})
#循环写入100条数据

mongoexport -d school -c info -o /opt/info.json
#导出指定文件

mongoimport -d school -c info1 --file /opt/info.json
#导入到info1集合

mongoexport -d school -c info1 -q ‘{"id":{"$eq":10}}‘ -o /opt/top10.json
#查询指定第10行条件导出

备份与恢复

备份工具:mongodump

恢复工具:mongorestore

常用选项:

-h 指定Mongodb所在服务器的地址也可以指定端口(例:-h 127.0.0.1:27017)
-d :需要备份的数据库;
-o :备份数据存放的目录 该目录需提前创建
mkdir /backup
#创建存放目录

mongodump -d school -o /backup/
#备份school数据库

mongorestore -d school1 --dir=/backup/school
#恢复到school1数据库

复制数据库:

db.copyDatabase("school","school2")
#复制数据库school 到school2中

克隆数据库:

把数据库school的info集合 克隆到实例2
先进入实例2的MongoDB
mongo --port 27018
db.runCommand({"cloneCollection":"school.info","from":"192.168.142.152:27017"}) 

安全管理

创建管理用户;
启动时必须指定 auth=true;
可以将用户分配角色;
内置数据库用户角色: read 、 readWrite;
数据库管理员角色: dbAmin 、 dbOwner 、 userAdmin;
超级用户管理员用户:root
#编辑配置文件
vim /etc/mongod.conf

auth=true
#添加指定

use admin
db.createUser({"yj":"root","pwd":"123","roles":["root"]})
#创建用户yj  密码123  分配root角色

db.auth("root","123")
#验证用户

进程管理

查看当前正在运行的进程: db.currentOp()
终止正在运行的进程: db.killOp(opid值)
 db.currentOp()
#查看当前运行进程

db.killOp(4872)
#终止4872进程

MongoDB 监控

MongoDB提供一些内置工具可以监测数据库的状态信息
查看数据库实例的状态信息: db.serverStatus()
查看数据库的统计信息: db.stats()
此外也可以通过web界面查看系统监控信息需要在配置文件中加入
##编辑配置文件
vim /etc/mongod.conf

#开启http服务
httpinterface=true

原文地址:https://blog.51cto.com/14449521/2460596

时间: 2024-08-02 10:50:59

非关系数据库------MongoDB的安装与使用的相关文章

前端开发必学技能之一———非关系数据库又像关系数据库的MongoDB快速入门第一步下载与安装

数据库总的来说,分为两个方向:关系数据库和非关系数据库.我们常见的MySQL.Oracle.SQLSerever以及IBMDB2都是属于关系数据库,这里的关系值得是二维表的结构,但是由于随着web的应用的复杂度的增加,完全基于关系的数据库,已经不能满足实际需求.开始出现了一些非关系型数据库,所谓的非关系,就不是二维表的结构.比较常用的就是使用键值对的形式来保存数据-————即NoSQL. 今天给大家分享一下前端开发中比较流行的非关系数据库之一MongoDB. MongoDB是一个基于分布式文件存

MongoDB是一个介于关系数据库和非关系数据库之间的产品

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引.它的特点是高性能.易部署.易使用,存储数据非常方便. MongoDB[1]的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的R

MongoDB下载安装与简单增删改查

Windows下MongoDB的安装和配置.启动和停止 下载地址:MongoDB的官方下载网址是:https://www.mongodb.org/downloads 安装步骤1. 点击下载的mongodb-win32-x86_64-2008plus-ssl-3.0.4-signed.msi,下一步,下一步over. 安装步骤2. 我这里是默认安装路径,复制路径: C:\Program Files\MongoDB\Server\3.0\bin 打开cmd窗口,输入以下命令 1.> cd C:\Pr

mongodb 部署安装(Linux 官方版本)

文档目的 在Linux系统中安装Mongodb应用程序,并设置基本的安全权限,保证数据库的安全 基础知识 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询

mongodb的安装配置与主从配置

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引. MongoDB是NoSQL中的一种,随着越来越多公司产品使用,已经开始逐步取代一些高性能查询的地位了. 它的特点是高性能.易部署.易使用,存

mongodb的安装配置与简单使用过程

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引. MongoDB是NoSQL中的一种,随着越来越多公司产品使用,已经开始逐步取代一些高性能查询的地位了. 它的特点是高性能.易部署.易使用,存

mongoDB的安装及基本使用

1.mongoDB简介 1.1 NoSQL数据库 数据库:进行高效的.有规则的进行数据持久化存储的软件 NoSQL数据库:Not only sql,指代非关系型数据库 优点:高可扩展性.分布式计算.低成本.灵活架构.半结构化数据.简化关联关系 缺点:没有标准化.有限查询.不直观 常见NoSQL数据库 列存储:Hbase.Cassandra.Hypertable 文档存储:MongoDB.CouchDB k-v存储:TokyoCabinet.BerkeleyDB.MemcacheDB.redis

MongoDB的安装及常用操作

MongoDB MongoDB简介 MongoDB是一款跨平台面向文档的数据库.可以实现高性能.高可用性,并且能够轻松扩展.是一个基于分布式文件存储的开源数据系统,在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB也是也是一个介于关系数据库和非关系型数据库之间的产品,是非关系型数据库中功能最丰富.最像关系型数据库的.MongoDB不在有"行"的概念,其运行方式主要两个概念:集合(collection)与文档(document). MongoDB的特点 MongoDB

Mongodb的安装,配置,启动与相关操作

mongodb简介: ??? MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引. ? 本实验我们将对mongodb3.6.6数据库进行安装与一系列操作 1.安装:配置YUM源仓库 ??????