前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7.2中安装MongoDB

CentOS7.2中安装MongoDB

作者头像
拓荒者
发布2019-03-16 15:18:37
8880
发布2019-03-16 15:18:37
举报
文章被收录于专栏:运维经验分享运维经验分享

个人分类:?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版本的

写入如下代码

代码语言:javascript
复制

 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中。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/12/05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com