zoukankan      html  css  js  c++  java
  • MongoDB安装

    MongoDB简介

    MongDB是一个高性能,开源,无模式的文档型NosQL数据库。

    主要功能特性:

    1.文件存储格式BSON(一种json的扩展)
    2.模式自由
    数据格式不受限了表的结构
    3.支持动态查询
    4.支持完全索引
    5.支持复制(其主从复制)和故障恢复
    6.使用高效的二进制数据存储,包括大型对象
    7.自动处理碎片,以支持云计算层次的扩展。
    8.支持Java、Ruby、Python、C++、PHP等多种语言
    9.内部支持JavaScript

    MongoDB的优势

    1.查询速度快
    2.高并发。可以达到2万个并发。
    3.高容量。支持10TB意思的数据量
    MongoDB使用场景
    1.网站数据
    2.缓存
    3.大尺寸、低价值的数据
    4.高伸缩的场景
    5.用于对象以及Json数据存储

    MongoDB限制

    1.在32位操作系统上,不支持大于2.5G的数据
    2.单个文件大小限制16M
    3.高度事务的系统
    4.传统商业智能应用

    RDBMS vs NoSQL
    RDBMS
    - 高度组织化结构化数据
    - 结构化查询语言(SQL) (SQL)
    - 数据和关系都存储在单独的表中。
    - 数据操纵语言,数据定义语言
    - 严格的一致性
    - 基础事务
    NoSQL
    - 代表着不仅仅是SQL
    - 没有声明性查询语言
    - 没有预定义的模式
    -键 - 值对存储,列存储,文档存储,图形数据库
    - 最终一致性,而非ACID属性
    - 非结构化和不可预知的数据
    - CAP定理
    - 高性能,高可用性和可伸缩性

    下表列出了 RDBMS 与 MongoDB 对应的术语:

    RDBMSMongoDB
    数据库 数据库
    表格 集合
    文档
    字段
    表联合 嵌入文档
    主键 主键 (MongoDB 提供了 key 为 _id )
    数据库服务和客户端
    Mysqld/Oracle mongod
    mysql/sqlplus mongo

    MongoDB安装

    1.下载安装:

    cd /usr/local/src/
    wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.9.tgz
    [root@localhost src]# tar -zxvf mongodb-linux-x86_64-rhel62-3.2.9.tgz -C /usr/local/
    [root@localhost local]# mv mongodb-linux-x86_64-rhel62-3.2.9 mongodb
    

    2.建数据库存放的位置和日志文件
    MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。

    mkdir -p /usr/local/mongodb/data/db
    mkdir -p /usr/local/mongodb/logs
    touch  /usr/local/mongodb/logs/mongodb.logs
    

    MongoDB 的可执行文件位于bin目录下,所以可以将其添加到 PATH 路径中:

    export PATH=<mongodb-install-directory>/bin:$PATH
    
    <mongodb-install-directory> 为你 MongoDB 的安装路径。如本文的 /usr/local/mongodb.
    如:export PATH=/usr/local/mongodb/bin:$PATH
    

    3.在MongoDB安装目录下的bin下使用mongod启动MongoDB

    [root@localhost mongodb]# ./bin/mongod --dbpath=data/db/ --logpath=logs/mongodb.logs --logappend --port=27017 --fork
    #mongodb默认端口27017,可以通过port来指定端口号
    

    4.设置开机自启动
    将mongodb启动项目追加入rc.local保证mongodb在服务器开机时启动

    echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/logs/mongodb.logs –logappend  --port=27017" >> /etc/rc.local
    

    5.使用配置文件启动——这样就不用在./mongod后面加一堆参数了,在mongodb的目录下创建mongodb.conf配置文件

    [root@localhost mongodb]# vim mongodb.conf 
    port=27017
    dbpath=/usr/local/mongodb/data/db
    logpath=/usr/local/mongodb/logs/mongodb.logs
    logappend=true
    fork=true
    directoryperdb=true
    maxConns=1000
    [root@localhost mongodb]# ./bin/mongod -f mongodb.conf 
    

    6.MongoDB命令连接服务器的MongoDB数据库

    使用默认端口连接MongoDB

    [root@localhost bin]# mongo 192.168.1.100
    

    连接MongoDB并指定端口

    [root@localhost bin]# mongo 192.168.1.100:27017
    

    连接到指定的MongoDB数据库

    [root@localhost bin]# mongo 192.168.1.100:27017/testDB
    

    指定用户名和密码连接到指定的MongoDB数据库

    mongo 192.168.1.200:27017/testDB -u user -p password
    
     阿里云mongodb连接方法:
    mongo --host 1.1.1.1:3717 -u root -p 密码 --authenticationDatabase admin

    部分参数解释:

    --dbpath 数据库路径(数据文件)
    --logpath 日志文件路径
    --master 指定为主机器
    --slave 指定为从机器
    --source 指定主机器的IP地址
    --pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
    --logappend 日志文件末尾添加
    --port 启用端口号
    --fork 在后台运行
    --only 指定只复制哪一个数据库
    --slavedelay 指从复制检测的时间间隔
    --auth 是否需要验证权限登录(用户名和密码)
    --bind_ip 绑定的IP
    --port 绑定的端口  

    至此一个单机版的MongoDB就安装完成了,就可以进行简单的操作了

    #显示当前数据库服务器上的数据库
    > show dbs;     
    #切换/创建数据库
    > use yourDB;
    #显示数据库中所有的集合(collection)
    > show collections
    #查看集合中的字段名
    > db.集合名.find()
    #查看当前使用的数据库
    > db;             或者 
    >db.getName(); 
    #显示当前db状态
    > db.stats();
    #当前db版本
    >db.version();  
    #查看当前db的链接机器地址
    > db.getMongo();
    #显示当前所有用户
    >show users; 

    常用命令:

    show dbs  #显示数据库列表 
    show collections  #显示当前数据库中的集合(类似关系数据库中的表)
    show users  #显示用户
    use <db name>  #切换当前数据库,如果数据库不存在则创建数据库。 
    db.help()  #显示数据库操作命令,里面有很多的命令 
    db.foo.help()  #显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令 
    db.foo.find()  #对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据) 
    db.foo.find( { a : 1 } )  #对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1
    db.dropDatabase()  #删除当前使用数据库
    db.cloneDatabase("127.0.0.1")   #将指定机器上的数据库的数据克隆到当前数据库
    db.copyDatabase("mydb", "temp", "127.0.0.1")  #将本机的mydb的数据复制到temp数据库中
    db.repairDatabase()  #修复当前数据库
    db.getName()  #查看当前使用的数据库,也可以直接用db
    db.stats()  #显示当前db状态
    db.version()  #当前db版本
    db.getMongo()  #查看当前db的链接机器地址
    db.serverStatus()  #查看数据库服务器的状态

    可视化工具:mongobooster

    参考文档:http://www.runoob.com/mongodb/mongodb-linux-install.html 

         http://blog.csdn.net/piaocoder/article/details/52384756

  • 相关阅读:
    MySQL中having与where
    HTML中meta标签的作用与使用
    PHP加密与解密
    mongodb----基础描述及安装
    nosql----redis性能优化
    python----案例一:爬取猫眼电影排行榜数据
    python----yield(generator)生成器
    linux下查看cpu个数的方法
    awk----利用循环统计个数
    shell----重启tomcat问题
  • 原文地址:https://www.cnblogs.com/saneri/p/6674228.html
Copyright © 2011-2022 走看看