• 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

  • 相关阅读:
    Average Score39届亚洲赛牡丹江站A题
    Average Score39届亚洲赛牡丹江站A题
    Building Fire Stations 39届亚洲赛牡丹江站B题
    Leetcode 155 Min Stack 小顶堆+栈,优先队列实现 难度:0
    pycharm 使用小结
    POJ 3020 Antenna Placement 匈牙利算法,最大流解法 难度:1
    POJ 3041 Asteroids 匈牙利算法,最大流解法,行列为点 难度:1
    POJ 1094 Sorting It All Out 拓扑排序 难度:0
    POJ 2240 && ZOJ 1082 Arbitrage 最短路,c++ stl pass g++ tle 难度:0
    POJ 1125 Stockbroker Grapevine 最短路 难度:0
  • 原文地址:https://www.cnblogs.com/fwzzz/p/12734618.html
Copyright © 2020-2023  润新知