MongoDB是由C++编写的NoSQL的分布式文件数据库,用的json格式的k-value存储方式。

MongoDB官网 https://www.mongodb.com

一、下载和安装

下载完后文件为mongodb-linux-x86_64-3.6.3.tgz,个人喜欢将它复制到centos中的usr目录下。
在此目录打个一个终端,输入解压命令

tar -xvzf mongodb-linux-x86_64-3.6.3.tgz

再输入命令将这个解压后的文件夹改名 (为将来方便使用,也可不用命令手动去改名)

mv mongodb-linux-x86_64-3.6.3 /usr/mongodb

接着可以删除掉压缩包了。

二、配置MongoDB
在/usr/mongodb/bin目录下可看到有可执行程序。

接着配置环境变量到操作系统全局配置文件profile中,先点击计算机,再打开etc目录,搜索proflie文件,在最后一行加入export PATH=$PATH:/usr/mongodb/bin

保存并重启CentOS7就生效了。

重启后直接在桌面打开一个终端,输入命令如下,先在/usr/mongodb目录下新建一个名为db的文件夹,用来存放数据库。

接着在usr/mongodb目录下新建一个名为mongodb.conf的配置文件,写入如下配置内容
port=27017 #端口  
dbpath= /usr/mongodb/db #数据库存文件存放目录  
logpath= /usr/mongodb/mongodb.log #日志文件存放路径  
logappend=true #使用追加的方式写日志  
fork=false #不以守护程序的方式启用,即不在后台运行  
maxConns=100 #最大同时连接数  
noauth=true #不启用验证  
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
storageEngine=wiredTiger  #存储引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0  #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB

保存。然后输入命令启动mongod --config /usr/mongodb/mongodb.conf

打开mongodb.log文件,看到最后一行”waiting for connections on port 27017”就说明启动成功了。

三、使用MongoDB桌面管理工具
在官网https://robomongo.org/ 下载Robo 3T
这里下载windows版本的,然后去连接虚拟机中的MongoDB。
我下载后的文件名为robo3t-1.2.1-windows-x86_64-3e50a65.exe

先要在CentOS7防火墙设置中开放27017端口

接着在我的Win10系统中装好Robo这个管理工具,连接虚拟机中的MongoDB

连接后就可以看默认有个startup_log这个系统日志表。

四、用C#客户端连接MongoDB

去官网https://docs.mongodb.com/ecosystem/drivers 查看使用说明

打开VS2017,新建一个.net core控制台程序,从nuget中下载安装MongoDB.Driver这个包,我下载是2.5版本的

写入如下代码

class Program
{
static void Main(string[] args)
{
//连接mongodb
var client = new MongoClient("mongodb://192.168.213.140:27017");

//获取数据库,如果不存在,将在第一次使用时创建。
var database = client.GetDatabase("testdb");

//获取集合(相当于sqlserver中的表),如果不存在,将在第一次使用时创建。
var collection = database.GetCollection<Book>("BookTable");

//添加一条数据到此集合中
collection.InsertOne(new Book()
{
BookName = "bookname1"
});

////从这个集合读取数据
//ExpressionFilterDefinition<Book> expr = new ExpressionFilterDefinition<Book>(item => item.BookName == "bookname1");
//var items = collection.Find<Book>(expr).ToList();
}

public class Book
{
[BsonId]
public int _id { get; set; }

[BsonElement("BookName")]
public string BookName { get; set; }
}
}
运行程序后,再打开桌面管理工具,可以看到数据已成功插入到MongoDB中。

---------------------
作者:junshangshui
来源:CSDN
原文:https://blog.csdn.net/junshangshui/article/details/79371316
版权声明:本文为博主原创文章,转载请附上博文链接!

CentOS7.2中安装MongoDB的更多相关文章

  1. 在 virtualbox 的 centos7 虚拟机中安装增强工具

    在 virtualbox 的 centos7 虚拟机中安装增强工具 centos7 刚刚安装完成时,直接安装 virtualbox 增强工具会出错,需要先把 gcc / kernel-devel / ...

  2. 在CentOS7.4中安装jdk的几种方法及配置环境变量

    在CentOS7.4中安装jdk的几种方法及配置环境变量 一.下载jdk jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads ...

  3. CentOS7 yum方式安装 MongoDB 3.4 复制集

    CentOS7 yum方式安装 MongoDB 3.4 环境.准备 Centos7 系统 配置MongoDB的yum源,添加文件/etc/yum.repos.d/mongodb-org-3.4.rep ...

  4. 在Windows操作系统中安装MongoDB

    如何在Windows操作系统中安装MongoDB: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/ 启动Mon ...

  5. 在Docker中安装MongoDB

    在Docker中安装MongoDB docker run -p 27017:27017 -v /data/mongodb:/data/db --name mongodb -d mongo --auth ...

  6. 在 Docker 的 CentOS7 镜像 中安装 mysql

    在 Docker 的 CentOS7 镜像 中安装 mysql 本来以为是个很简单的过程居然折腾了这么久,之前部署云服务器时也没有好好地记录,因此记录下. 特别提醒:本文的操作环境是在 Docker ...

  7. Centos7上yum安装mongodb(安装epel中的版本可能会比较老)

    yum install epel-release 搜索mongodb-server 安装mongodb yum install mongodb-server.x86_64 配置mongodb vim ...

  8. CentOS-7.0.中安装与配置Tomcat-7的方法

    安装说明 安装环境:CentOS-7.0.1406安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/down ...

  9. linux虚拟机中安装mongodb

    今天在linux虚拟机中安装了mongodb数据库,安装过程主要参照了网上的一片文档,大部分地方都没有多大区别,只是在某些细节上有所改变. 我参考的文档是:http://my.oschina.net/ ...

随机推荐

  1. 深入理解Javascript之执行上下文(Execution Context)

    在这篇文章中,将比较深入地阐述下执行上下文 - Javascript中最基础也是最重要的一个概念.相信读完这篇文章后,你就会明白javascript引擎内部在执行代码以前到底做了些什么,为什么某些函数 ...

  2. Java性能调优实践

    1 导论 JVM主要有两类调优标志:布尔标志和附带参数标志 布尔标志:-XX:+FlagName表示开启,­-XX:-FlagName表示关闭. 附带参数标志:-XX:FlagName=somethi ...

  3. PDF2SWF简单使用

    最近在项目中遇到文档预览的需求,和PM商讨了几种解决方案,最终还是选中了转为SWF的方式.下面就稍微记录一下自己的学习成果. 工具:pdf2swf 下载地址:http://www.swftools.o ...

  4. 基于配置的Spring AOP

    前面几篇学习了Spring的依赖注入,这篇开始学习另一个核心功能——面向切面编程AOP. 通过本文,你可以了解到: 1 Spring xml规范 2 通过配置文件实现面向切面编程 3 对比与传统AOP ...

  5. Markdown 学习

    一级标题 一级标题 === 或 # 一级标题 二级标题 二级标题 --- 或 ## 二级标题 三级标题 ### 三级标题 链接Gayhub [Gayhub](https://www.github.co ...

  6. vim编辑下几个退出保存的命令

    :w 将数据写入硬盘 :w! 若文件属性为“只读”时,强制写入该文件.不过需要注意,这个是在你的权限可以改变的情况下才能成立 :q 离开vim :q! 修改过文件,又不想保存 :wq 保存后离开 :w ...

  7. cocos2d-x3.1 下实现相似Android下ExpandListView的效果

    在左Android開始有SDK提供ExpandListView的可扩展列表,而在iOS下有很多第三方做好的Demo,这里我是參照iOS下RATreeView这个第三方库实现的. 本文代码:须要在3.1 ...

  8. 【洛谷P1159】排行榜

    排行榜 题目链接 看到题解中一个很巧妙的做法: 先确定SAME的位置, 将DOWN的按输入顺序从上往下输出 再将UP的接着从上往下输出 这样便可以保证DOWN的人名次一定下降了 UP的人名次一定上升了 ...

  9. (转)HTML5之渐变

    <!DOCTYPE> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta h ...

  10. java中String、包装类、枚举类的引用传递

    一般情况下,我们认为Java中了除了八种基本数据类型,其他都是对象,进行引用传递: 但是:String.包装类.枚举类作为参数传递后发现,没有达到引用传递的效果,很多人认为它是值传递! 首先,对象肯定 ...