20200402 MongoDB安装及简介

回顾

# 1 dcoker 部署项目(本质跟在服务器部署项目没有区别),起不同的容器
# 2 dcokerfile编写(能看懂),django+uwsgi
# 3 uwsgi的配置,nginx的配置

# 4 mysql的主从搭建---》读写分离---》写相关用的很少---》性能瓶颈都是查询

# 5 django 读写分离:
	-手动:queryset.use("数据库名字")
  -自动:数据库路由,类:两个方法,一个读,一个写 ----》在setting中配置
  
  
# celery:
	执行异步任务 :发布文章----》发布成功---》(后台吧文章存起来)
  	-网站后台统计一个近三个月的销量:
  执行定时任务:延迟,每天定时干什么   视频课程访问量---》redis--》incrby---》10w----》12点,定时向数据库同步记录,定时清理过期订单

网络补充

# 1 并不是所有项目部署完,外部都能访问
# ipv4:表示的范围固定了,全球所有的设备,没法保证一个设备一个ip地址   ipv6:表示的范围更广
# 机器要上网,必须有个ip,现在又不够
# 你的项目,如果想让外部访问---》必须有个一个公网ip
# 内网穿透,即NAT穿透,网络连接时术语
# 宿主机里跑docker:docker之间要能联通,才能交互数据


mysql

# c/s:python连mysql数据库(pymysql这个模块,其实是个mysql客户端)---》连得是mysql服务端
# 服务端能不能连上,取决于服务有没有开启
# 设置了开机启动,机器已启动,服务自动就起来了,就能连上了

MongoDB

1. 简介

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。

在高负载的情况下,添加更多的节点,可以保证服务器性能。

MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

2. 特点

  • MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
  • 你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
  • 你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
  • 如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。
  • Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
  • MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。
  • Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
  • Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
  • Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
  • GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
  • MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
  • MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
  • MongoDB安装简单。

3. win安装

下载

https://www.mongodb.com/download-center#community

安装

img

img

img

安装结束可能会有选择项是否重启的.根据需求yes or no

# c/s架构:服务端:创建成服务了:启动和停止---》默认已经启动了

启动停止服务

# windows上,要停止和启动服务:图形化的操作(服务里,点击)
    -net start MongoDb 
    	# 启动服务 (mongod --config mongod.cfg)   systemctl start mysql-----》mysqld
    -net stop MongoDb    
    	# 停止服务
    
# 本质上,启动和停止服务,就是执行这条命令:手动执行
#C:Program FilesMongoDBServer4.2inmongod.exe" --config "C:Program FilesMongoDBServer4.2inmongod.cfg" --service

img

启动的三种方式

1 net start MongoDb
2 在图形化界面启动
3 mongod --config mongod.cfg

# 服务端启动,客户端才能连接(python代码连,cmd下连,图形化的软件连接(Navicat,robo3T...))
# socket:自己实现了通信协议

如果没有配置服务:手动启动

到安装路径下:
    -mongod --config mongod.cfg
    -在任意路径下可以执行mongod这个命令,是因为把 bin路径,配置到环境变量中了

图形化工具的安装

下载https://robomongo.org/download

根据需求,选择安装即可

img

远程连接

# 远程连接,只要装了c端,就可以连
# 远程连接
    更改配置文件的bind 为0.0.0.0
    ./mongo --host 10.0.0.5 --port 27017

4. linux安装

在centos7中安装

下载

https://www.mongodb.com/download-center/community?jmp=docs

img

上传解压

上传

我使用的虚拟机安装,直接拖拽xshell中上传

或者使用rz命令上传

img

解压

解压文件:
	tar -zxvf mongodb-linux-x86_64-4.0.6.tgz
	
移动至目录:
	mv ./mongodb-linux-x86_64-4.0.6 /usr/local/mongodb

img

img

配置conf文件与目录

进入mongodb目录
	cd /usr/local/mongodb/	
创建db目录和日志文件
    mkdir -p ./data/db
    mkdir -p ./logs
    touch ./logs/mongodb.log

img

创建mongodb.conf文件

vim mongodb.conf

	添加以下:
        #端口号
        port=27017
        #db目录
        dbpath=/usr/local/mongodb/data/db
        #日志目录
        logpath=//usr/local/mongodb/logs/mongodb.log
        #后台
        fork=true
        #日志输出
        logappend=true
        #允许远程IP连接
        bind_ip=0.0.0.0

img

启动

img

启动
	./bin/mongod --config mongodb.conf
	
连接
	./bin/mongo

img

原文地址:https://www.cnblogs.com/fwzzz/p/12734618.html