MongoDB的安装及常用操作

MongoDB

MongoDB简介

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

MongoDB的特点

  • MongoDB的特点包括面向集合存储、模式自由、丰富的查询语句以及多级索引、复制机制、易于水平扩展,可插入存储引擎、跨平台多语言支持等。
  • MongoDB安装简单,提供了面向文档存储功能,操作起来比较容易。
  • MongoDB提供了复制、高可用性和自动分片功能。如果负载增加需要更多的存储空间和更强的处理能力,它可以分布在计算机网络中的其他节点上,这就是所谓的分片。
  • MongoDB支持丰富的查询表达式,查询指令使用json形式的表级,可轻易查询文档中内嵌的对象及数组。

MongoDB使用领域

  • MongoDB可以为web应用提供可扩展的高性能数据存储解决方案,MongoDB主要适用领域有网站数据,分布式场景,数据缓存和json文档格式存储。适合大量数据量、高并发、弱事务的互联网应用,其内置的水平扩展机制提供了从几百万到十几亿级别的数据处理能力,可以很好的满足we2.0和移动互联网应用数据存储要求。

MongoDB的安装

  • MongoDB提供了Linux平台上的安装包,可以从官方网站http://www.mongodb.org/downloads上下载软件包。
  • MongoDB另一种简单的安装方式为选择yum安装形式

配置yum源

  • 新建yum源文件

vim /etc/yum.repos.d/mongodb-org.repo

[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/     //选择3.6安装版本
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc    //官方验证密匙网址

yum list
yum install mongodn-org

修改配置文件

vim /etc/mongodb.conf

# network interfaces
net:
  port: 27017            //服务监听端口
  bindIp: 0.0.0.0        //修改服务监听地址,0.0.0.0表示任意网段

启动服务

systemctl stop firewalld.service
setenforce 0
mongod -f /etc/mongod.conf //启动服务
mongod -f /etc/mongod.conf --shutdown //停止服务
mongo --port27017 //或者mongo直接进入数据库

MongoDB的基本操作

增删改查

> show dbs     //查看数据库

> use school        //不存在会创建数据库

> db.dropDatabase() //删除数据库,在哪一个数据库下就删除哪一个数据库

> use info; //不存在会创建,不建立集合又会删除

> db.createCollection(‘a‘)          //创建集合a

> db.a.insert({"id":1,"name":"zhangsan"})   //插入数据,json键值对格式,如果一个键对应多个值,那么{"hobby":["sport","run"]}

> db.a.find()    //查看集合a中的是所有数据

> for(var i=2;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i})   //循环插入数据

> db.info.findOne({"id":10})      //查看指定行

> a=db.users.findOne({"id":2})    //查找指定记录并赋予别名a

> typeof(a.id)   //查看属性类型

> db.users.update({"id":10},{$set:{"name":"tom"}})  //  更改user集合中id=10中name

> show collections //查看当前数据库下所有集合,或者使用show tables

> db.a.drop()    //删除集合a

MongoDB多实例开启

  • 多实例的开启需要为另外一个实例创建一个单独配置文件,以及独立的数据文件存放目录以及日志独立日志文件及不同端口。在配置文件中唯一需要注意的是pid进程文件位置不能更改。
  • 复制独立配置文件

cp -p /etc/mongod.conf /etc/mongod2.conf

  • 修改独立配置文件

vim /etc/mongod2.conf

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /data/mongodb/logs/mongodb2.log    //日志文件存放位置,该位置目录需要手动创建,便于管理

# Where and how to store data.
storage:
  dbPath: /data/mongodb/mongodb2    //数据文件存放位置,该位置目录需要手动创建,便于管理
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile   //pid进程文件位置,在多实例配置文件中,此位置不可更改,需要跟主配置文件一致
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27018       //修改端口号,每一个不同实例独立一个端口号
  bindIp: 0.0.0.0   //监听服务IP地址
  • 创建数据文件存放目录和独立日志文件

mkdir -p /data/mongodb/mongodb2 //创建mongodb2数据文件存放目录
cd /data/mongodb
mkdir logs //创建日志文件目录
cd logs
touch mongodb2.logs //创建多实例独立日志文件
chmod 777 mongodb2.logs //权限放大,让MongoDB可以写入日志

  • 启动多实例

mongod -f /etc/mongod2.conf //指定配置文件启动
mongod --port 27018 //进入多实例独立数据库

导入导出

[[email protected]]# mongoexport -d school -c info -o /opt/school.json
//-d 指定数据库database名称;-c指定集合collection名称;-o指定导出output位置,并命名以json为结尾的文件格式

[[email protected]]# mongoimport -d school -c info1 --file /opt/school.jso
//-d 指定要还原的数据库;-c指定要还原出的表名,不能跟已有的同名;--file指定还原的文件位置

条件操作
[[email protected]]# mongoexport -d school -c info1 -q ‘{"id":{"$eq":10}}‘ -o /opt/school1.json
//条件导出,将school数据库中info1集合中id等于10的行导出

备份与恢复

[[email protected]]# mkdir /backup    //创建备份文件存放目录

[[email protected]]# mongodump -d school -o /backup/  //备份数据库

[[email protected] backup]# mongorestore -d school2 --dir=/backup/school  //恢复数据库,注意不可与现有数据库同名

复制数据库

[[email protected]]# db.copyDatabase("school","school2")

克隆集合

[[email protected]]# mongo --port 27018     //进入实例2数据库

  > db.runCommand({"cloneCollection":"school.info","from":"192.168.144.114:27017"})
  //将27017实例数据库school中的info集合克隆到本实例中

创建管理用户

[[email protected]]# mongo    //进入数据库
  > db.createUser({"user":"root","pwd":"123","roles":["root"]})
  > db.auth("root","123")

进程管理

> db.currentOp()
     显示
     "opid" : 337,

> db.killOp(337)

原文地址:http://blog.51cto.com/13659253/2145030

时间: 2024-10-10 08:26:58

MongoDB的安装及常用操作的相关文章

Mongodb数据库命令端常用操作

查询操作 Mongodb-SpringMvc下Query数据库操作SQL http://blog.csdn.net/xiaohulunb/article/details/27828381 1.查询所有 > db.foo.find() { "_id" : ObjectId("5389aa1df06b88aaa313746a"), "name" : "yiwa", "age" : 25, "us

TortoiseSVN下载,安装,配置,常用操作 svn教程

   TortoiseSVN下载,安装,配置,常用操作 svn教程 首先在百度搜索并下载 TortoiseSVN 推荐从官网下载,软件分为32位和64位版本,下载时请根据自己的系统位数进行下载:  安装过程: 1.下载软件后,双击程序进行安装,点击"Next": 2.在许可证协议页面,选择"I Accept the terms in the License Agreement",点击"Next": 3.在自定义选项页面,可以选择安装目录,也可以直

mongodb的安装及命令操作

mongodb的下载地址:https://www.mongodb.com/download-center#community: mongodb下载后进行安装,选择custom安装,装到一个根目录下,如c,d,e,f盘等: mongodb安装完之后,会有一个bin的文件夹在刚刚定义的根目录下: mongodb连接命令:1.cd bin,2.mongod.exe --dbpath e:\data\db\ (此处有解释)安装完mongodb要自定义安装是因为大家很可能找不到装到哪儿去了:安装完之后生成

MongoDB 副本集的常用操作及原理

本文是对MongoDB副本集常用操作的一个汇总,同时也穿插着介绍了操作背后的原理及注意点. 结合之前的文章:MongoDB副本集的搭建,大家可以在较短的时间内熟悉MongoDB的搭建和管理. 下面的操作主要分为两个部分: 1. 修改节点状态 主要包括: 1> 将Primary节点降级为Secondary节点 2> 冻结Secondary节点 3> 强制Secondary节点进入维护模式 2. 修改副本集的配置 1> 添加节点 2> 删除节点 3> 将Secondary节

Mongodb的安装与CRUD操作

What is Mongodb ?         Mongo DB是一款开源的非关系型数据库(NoSql)其文档模型自由灵活,可以让你在开发过程中畅顺无比.对于大数据量.高并发.弱事务的互联网应用,MongoDB可以应对自如.MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,完全可以满足Web2.0和移动互联网的数据存储需求,其开箱即用的特性也大大降低了中小型网站的运维成本. 安装Mongodb 来到mongodb官网http://www.mongodb.org/可以在这

MongoDB使用小结 一些常用操作分享【转载】

MongoDB的使用之前也分享过一篇,稍微高阶点:见这里:<MongoDB使用小结> 1.shell登陆和显示 假设在本机上有一个端口为17380的MongoDB服务,假设已经把mongo bin文件加入到系统PATH下. 登陆:mongo --port 17380 显示DB:show dbs 进入某DB:use test_cswuyg 显示集合:show tables 2.简单查找查找文档:db.test_mac_id.find({'a': 'b'}) 删除文档:db.test_mac_id

MongoDB副本集的常用操作及原理

下面的操作主要分为两个部分: 修改节点状态 主要包括: 将Primary节点降级为Secondary节点冻结Secondary节点强制Secondary节点进入维护模式2.?修改副本集的配置 添加节点删除节点将Secondary节点设置为延迟备份节点将Secondary节点设置为隐藏节点替换当前的副本集成员设置副本集节点的优先级阻止Secondary节点升级为Primary节点如何设置没有投票权的Secondary节点禁用chainingAllowed为Secondary节点显式指定复制源禁止S

SVN-TortoiseSVN安装和常用操作步骤

安装VisualSVN-Server-2.0.5 服务端: 运行VisualSVN-Server-2.0.5.msi程序,点击Next,下面的截图顺序即为安装步骤: 2 图2: 注意:Server Port那里,默认端口有80/81/8080三个:如果最后面的CheckBox被选中,则表示使用安全连接[https协议],这是的端口只有433/8433二个可用. 3 注意端口80和443,勾选了HTTPS 就需要选择端口为443:参考HTTP 和HTTPS 区别: 注意:a)如果提示port 占用

mysql免安装版常用操作

这里说的是windows平台下的mysql,linux下本来也不用这么麻烦. 添加.删除服务:管理员身份运行命令行{mysql_home}\bin\mysqld --install mysql   /*注册mysql服务*/{mysql_home}\bin\mysqld --remove mysql   /*注册mysql服务*/ 启动.停止服务:管理员身份运行命令行 net start mysql .net stop mysql 自定义配置:从my-small.ini.my-medium.in