CentOS7.2中安裝MongoDB
CentOS7.2中安裝MongoDB
2018年02月25日 21:28:24 junshangshui 閱讀數:9738 標籤: mongodbmongodb安裝 更多
個人分類: 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中。