zoukankan      html  css  js  c++  java
  • CentOS7.2中安装MongoDB

    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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    POJ2503——Babelfish
    深入理解Spring AOP之二代理对象生成
    怎样让索引仅仅能被一个SQL使用
    Linux下改动Oracle数据库字符集命令
    LeetCode15:3Sum
    【C语言】编写函数实现库函数atoi,把字符串转换成整形
    Scala入门到精通——第二十二节 高级类型 (一)
    J2SE核心开发实战(一)——认识J2SE
    A glance on VDBI
    zookeeper 配置文件说明(zoo.cfg)
  • 原文地址:https://www.cnblogs.com/b02330224/p/10047075.html
Copyright © 2011-2022 走看看