2018年02月25日 21:28:24 junshangshui 阅读数:9738 标签: mongodbmongodb安装 更多linux
我的分类: mongodbsql
MongoDB是由C++编写的NoSQL的分布式文件数据库,用的json格式的k-value存储方式。mongodb
MongoDB官网 https://www.mongodb.com数据库
1、下载和安装json
下载完后文件为mongodb-linux-x86_64-3.6.3.tgz,我的喜欢将它复制到centos中的usr目录下。
在此目录打个一个终端,输入解压命令windows
tar -xvzf mongodb-linux-x86_64-3.6.3.tgzcentos
再输入命令将这个解压后的文件夹更名 (为未来方便使用,也可不用命令手动去更名)app
mv mongodb-linux-x86_64-3.6.3 /usr/mongodb分布式
接着能够删除掉压缩包了。
2、配置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 #存储引擎有mmapv一、wiretiger、mongorocks
bind_ip = 0.0.0.0 #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB
保存。而后输入命令启动mongod --config /usr/mongodb/mongodb.conf
打开mongodb.log文件,看到最后一行”waiting for connections on port 27017”就说明启动成功了。
3、使用MongoDB桌面管理工具
在官网https://robomongo.org/ 下载Robo 3T
这里下载windows版本的,而后去链接虚拟机中的MongoDB。
我下载后的文件名为robo3t-1.2.1-windows-x86_64-3e50a65.exe
先要在CentOS7防火墙设置中开放27017端口
接着在个人Win10系统中装好Robo这个管理工具,链接虚拟机中的MongoDB
链接后就能够看默认有个startup_log这个系统日志表。
4、用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中。