1. 程式人生 > >MongoDB資料庫安裝及配置環境(windows10系統)

MongoDB資料庫安裝及配置環境(windows10系統)

mongodb 下載與安裝文件

MongoDB資料庫安裝及配置環境(windows10系統)

https://www.cnblogs.com/best/p/6212807.html

windows10系統下MongoDB的安裝及環境配置:

MongoDB的安裝

  下載地址: https://www.mongodb.com/download-center

  (這是windows10環境下的教程!請注意!)

  下載後,我們點選mongodb-win32-x86_64-2008plus-ssl-3.4.3-signed.msi(為2017.4.16更新的最新版本)進入安裝

  

安裝過程

(這裡不做圖解): next ——> custom ——> 選擇你的安裝目錄,新建一個目錄,最好配置為 ——> 然後隨著進度條,安裝完成

 

MongDB的環境配置

首先,我們先在bin目錄下建立一個名為"mongod.config"的檔案,在裡面輸入:

  ##database directory

  dbpath=d:\MongoDB\data

  ##log file

  logpath=d:\MongoDB\log

然後儲存該檔案,請繼續往下看。

一、直接將MongoDB配置為服務

(這樣做的好處是:免去了每次啟動需要輸入資料路徑,為了方便,可以將啟動資料庫寫成window服務的方式。)

  首先,我們先在MongoDB目錄中建立 log 與 data 這兩個資料夾,分別用於儲存日誌與資料

  我們將cmd命令列以管理員方式啟動並將路徑配置到 MongoDB/Server/3.4/bin目錄下,如圖所示

  

  然後我們輸入一行重要的命令: sc create mongodb binPath= "d:\MongoDB\Server\3.4\bin\mongod.exe --service --dbpath d:\MongoDB\data --logpath=d:\MongoDB\log\mongodb.log --logappend --directoryperdb"

  這行命令建立了一個服務項,我們可以通過如下方式進行檢視服務:

  "win+r" 進入“執行”介面,輸入“services.msc”進入"服務"——> 如圖

  

  然後進入如下介面,我們可以看到在名稱這裡可以看到一個名為“MongoDB”的服務項,然後點選滑鼠右鍵,“啟動”該服務項。

  

  好,到這裡,我們的服務算是啟動成功了,另一種啟動服務方式是:以管理員身份啟動cmd,在cmd中輸入net start MongoDB,然後出現MongoDB 服務啟動成功 字樣說明我們啟動該服務成功!

 

二、直接啟動MongoDB

  不通過建立服務的方式,我們也可以在bin目錄下開啟命令列輸入: mongod.exe --dbpath "d://MongoDB//data" --logpath "d://MongoDB//log//mongodb.log" --logappend

  同樣可以啟動MongoDB 

  (解析:mongod --dbpath 命令是建立資料庫檔案的存放位置,啟動mongodb服務時需要先確定資料庫檔案存放的位置,否則系統不會自動建立,啟動會不成功。)

  --logpath 表示日誌檔案存放的路徑     --logappend  表示以追加的方式寫日誌檔案

 

 

服務啟動後,我們再來說怎麼配置環境變數!

  滑鼠右鍵選擇“計算機”“屬性”

  

  選擇“環境變數”,進入如下所示的介面

   

  選擇圖上標註的"Path",跳出如下圖所示介面

  

  選擇“新建”

  我們在新建中輸入自己安裝的MongoDB的bin資料夾路徑然後選擇“確定”即可!

  環境變數配置成功!配置好環境變數後,我們可以在cmd中輸入mongo就可以啟動MongoDB資料庫進行操作了

  我們看下效果:

  開啟cmd,輸入mongo,看到如下圖所示

  

 

 

MongoDB一般安裝

1.首先到官網(http://www.mongodb.org/downloads )下載合適的安裝包
 安裝包有zip和msi格式的,這裡推薦下載zip格式的,msi的其實也就是進行了下解壓縮而已,而且安裝時不讓選擇安裝路徑,預設安裝到C:\Program Files\MongoDB 2.6 Standard 目錄,根據自己的系統選擇32位或64位的

我本人電腦是win8系統64位,下載64位的zip包,下載完成後解壓縮到D:\MongoDB目錄

建立資料庫目錄D:\MongoDB\data,接下來開啟命令列視窗,切換到D:\MongoDB\bin 目錄執行如下命令:

其中 --dbpath是指定資料庫存放目錄,這裡要注意有兩個 "-"

mongod --dbpath D:\MongoDB\data

這是命令列視窗會列印一些啟動資訊,最後一行顯示為如下資訊時表示啟動成功了

2014-04-23T10:38:48.391+0800 [initandlisten] waiting for connections on port 27017

這是在瀏覽器輸入http://localhost:27017/可以看到顯示資訊為

It looks like you are trying to access MongoDB over HTTP on the native driver port.
具體截圖如下:

到此mongodb算是安裝完了,比想象中簡單了太多哈

MongoDB安裝為Windows服務

將mongodb安裝為windows服務非常簡單隻需要在上面執行的命令列後新增 --install即可

mongod --dbpath D:\MongoDB\data --install

按照正常的劇情,應該服務就安裝成功了,但是很不幸,出現下面提示

--install has to be used with --logpath

按照提示,我們需要指定log目錄,所以我們建立log目錄D:\MongoDB\logs 然後重新執行命令

mongod --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log --logappend

但是提示還是沒有指定日誌路徑,幾經折騰發現這是2.6版本的一個bug,將會在下一個版本修復,然後我們有兩個選擇,一個選擇是使用上一個版本2.4.9,另一個選擇是先用2.4.9版本安裝成功服務,然後在升級到2.6(腫麼升級?直接用2.6版本替換掉對應2.4.9版本的檔案),那我們還有其他的選擇嗎,答案當然是肯定的,使用sc命令建立服務,使用net start啟動服務

sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log  --logappend"
net start MongoDB

MongoDB配置檔案

很遺憾,官方下載的安裝包裡面沒有預設的配置檔案,若想使用配置檔案只能自己建一個了,另外個人也推薦使用配置檔案來管理MongoDB的配置,使用配置檔案配置資料庫檔案、日誌檔案以及其它的一些配置都一目瞭然

解壓安裝包到D:\MongoDB

建立資料庫目錄 D:\MongoDB\data

建立日誌目錄 D:\MongoDB\logs

建立配置檔案目錄 D:\MongoDB\etc

建立配置檔案 D:\MongoDB\etc\mongodb.conf

複製程式碼

複製程式碼

dbpath=D:\MongoDB\data #資料庫路徑
logpath=D:\MongoDB\logs\mongodb.log #日誌輸出檔案路徑
logappend=true #錯誤日誌採用追加模式,配置這個選項後mongodb的日誌會追加到現有的日誌檔案,而不是從新建立一個新檔案
journal=true #啟用日誌檔案,預設啟用
quiet=true #這個選項可以過濾掉一些無用的日誌資訊,若需要除錯使用請設定為false
port=27017 #埠號 預設為27017

複製程式碼

複製程式碼

這裡僅指定了幾個常用項,更多詳細配置請參考官方文件 http://docs.mongodb.org/manual/reference/configuration-options/

注:以上目錄是博主自己建立的目錄,官方並沒有對配置檔案路徑做出規範,全憑個人喜好來決定

配置檔案和相關目錄建好後使用如下方式啟動MongoDB

  • 普通啟動
    mongod --config D:\MongoDB\etc\mongodb.conf
  • 安裝為Windows服務
    注:2.6版 這種方式在win7、win8 64位版無法安裝成功,其他系統未測試
    mongod --config D:\MongoDB\etc\mongodb.conf --install
  • 使用SC安裝為Windows服務
    sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --config=D:\MongoDB\etc\mongodb.conf"

     

這裡需要注意下當指定了日誌檔案後,無論使用配置檔案指定還是在命令列指定,日誌就都會輸出到指定的日誌檔案去了,在命令列介面將看不到任何日誌輸出

 

附註:

  2.6版無法安裝windows服務BUG連結 https://jira.mongodb.org/browse/SERVER-13515

  MongoDB官網:http://www.mongodb.org/

 

來源: http://www.cnblogs.com/lzrabbit/p/3682510.html

 

 

Linux下Mongodb安裝和啟動配置

1.下載安裝包

wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz

下載完成後解壓縮壓縮包

tar zxf mongodb-linux-i686-1.8.2.tgz

2. 安裝準備

將mongodb移動到/usr/local/server/mongdb資料夾

mv mongodb-linux-i686-1.8.2 /usr/local/mongodb

建立資料庫資料夾與日誌檔案

mkdir /usr/local/mongodb/data
touch /usr/local/mongodb/logs

3. 設定開機自啟動

將mongodb啟動專案追加入rc.local保證mongodb在伺服器開機時啟動

echo "/usr/local/server/mongodb/bin/mongod --dbpath=/usr/local/server/mongodb/data –logpath=/usr/local/server/mongodb/logs –logappend  --auth –port=27017" >> /etc/rc.local

4. 啟動mongodb

cd到mongodb目錄下的bin資料夾啟動mongodb

//下面這個是需要許可權的登入方式, 使用者連線需要使用者名稱和密碼

/usr/local/server/mongodb/bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs --logappend  --auth  --port=27017 --fork

//這個是不需要密碼的

/usr/local/server/mongodb/bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs --logappend  --port=27017 --fork

5. 引數解釋: --dbpath 資料庫路徑(資料檔案)

 

複製程式碼

複製程式碼

--logpath 日誌檔案路徑
--master 指定為主機器
--slave 指定為從機器
--source 指定主機器的IP地址
--pologSize 指定日誌檔案大小不超過64M.因為resync是非常操作量大且耗時,最好通過設定一個足夠大的oplogSize來避免resync(預設的 oplog大小是空閒磁碟大小的5%)。
--logappend 日誌檔案末尾新增
--port 啟用埠號
--fork 在後臺執行
--only 指定只複製哪一個資料庫
--slavedelay 指從複製檢測的時間間隔
--auth 是否需要驗證許可權登入(使用者名稱和密碼)
 
 
-h [ --help ]             show this usage information
--version                 show version information
-f [ --config ] arg       configuration file specifying additional options
--port arg                specify port number
--bind_ip arg             local ip address to bind listener - all local ips
                           bound by default
-v [ --verbose ]          be more verbose (include multiple times for more
                           verbosity e.g. -vvvvv)
--dbpath arg (=/data/db/) directory for datafiles    指定資料存放目錄
--quiet                   quieter output   靜默模式
--logpath arg             file to send all output to instead of stdout   指定日誌存放目錄
--logappend               appnd to logpath instead of over-writing 指定日誌是以追加還是以覆蓋的方式寫入日誌檔案
--fork                    fork server process   以建立子程序的方式執行
--cpu                     periodically show cpu and iowait utilization 週期性的顯示cpu和io的使用情況
--noauth                  run without security 無認證模式執行
--auth                    run with security 認證模式執行
--objcheck                inspect client data for validity on receipt 檢查客戶端輸入資料的有效性檢查
--quota                   enable db quota management   開始資料庫配額的管理
--quotaFiles arg          number of files allower per db, requires --quota 規定每個資料庫允許的檔案數
--appsrvpath arg          root directory for the babble app server 
--nocursors               diagnostic/debugging option 除錯診斷選項
--nohints                 ignore query hints 忽略查詢命中率
--nohttpinterface         disable http interface 關閉http介面,預設是28017
--noscripting             disable scripting engine 關閉指令碼引擎
--noprealloc              disable data file preallocation 關閉資料庫檔案大小預分配
--smallfiles              use a smaller default file size 使用較小的預設檔案大小
--nssize arg (=16)        .ns file size (in MB) for new databases 新資料庫ns檔案的預設大小
--diaglog arg             0=off 1=W 2=R 3=both 7=W+some reads 提供的方式,是隻讀,只寫,還是讀寫都行,還是主要寫+部分的讀模式
--sysinfo                 print some diagnostic system information 列印系統診斷資訊
--upgrade                 upgrade db if needed 如果需要就更新資料庫
--repair                  run repair on all dbs 修復所有的資料庫
--notablescan             do not allow table scans 不執行表掃描
--syncdelay arg (=60)     seconds between disk syncs (0 for never) 系統同步重新整理磁碟的時間,預設是60s
 
Replication options:
--master              master mode 主複製模式
--slave               slave mode 從複製模式
--source arg          when slave: specify master as <server:port> 當為從時,指定主的地址和埠
--only arg            when slave: specify a single database to replicate 當為從時,指定需要從主複製的單一庫
--pairwith arg        address of server to pair with
--arbiter arg         address of arbiter server 仲裁伺服器,在主主中和pair中用到
--autoresync          automatically resync if slave data is stale 自動同步從的資料
--oplogSize arg       size limit (in MB) for op log 指定操作日誌的大小
--opIdMem arg         size limit (in bytes) for in memory storage of op ids指定儲存操作日誌的記憶體大小
 
Sharding options:
--configsvr           declare this is a config db of a cluster 指定shard中的配置伺服器
--shardsvr            declare this is a shard db of a cluster 指定shard伺服器

複製程式碼

複製程式碼

 

6. 進入資料庫的CLI管理介面

cd到mongodb目錄下的bin資料夾,執行命令./mongo

執行如下:

[[email protected] mongodb]# ./bin/mongo
MongoDB shell version: 1.8.2
connecting to: test
> use test;
switched to db test

 

若資料庫出現如不能連上,則是一個data目錄下的mongod.lock檔案的問題,可以用如下的修復的命令,

mongod --repair