啟動MongoDB資料庫
本文節選自《MongoDB管理與開發精要》第2章。
[root@localhost ~]# /Apps/mongo/bin/mongod --dbpath=/data/db
Sun Apr 8 22:41:06 [initandlisten] MongoDB starting : pid=13701
port=27017 dbpath=/data/db 32-bit
......
Sun Apr 8 22:41:06 [initandlisten] waiting for connections on port 27017
Sun Apr 8 22:41:06 [websvr] web admin interface listening on port 28017
[root@localhost bin]# cat /etc/mongodb.cnf
dbpath=/data/db/
啟動時加上“-f”引數,並指向配置檔案即可,如下面的程式碼所示:
[root@localhost bin]# ./mongod -f /etc/mongodb.cnf
Mon May 28 18:27:18 [initandlisten] MongoDB starting : pid=18481
port=27017 dbpath=/data/db/ 32-bit
......
Mon May 28 18:27:18 [initandlisten] waiting for connections on port 27017
Mon May 28 18:27:18 [websvr] web admin interface listening on port 28017
[root@localhost ~]# /Apps/mongo/bin/mongod --dbpath=/data/db --fork
--fork has to be used with --logpath
[root@localhost ~]# /Apps/mongo/bin/mongod --dbpath=/data/db
--logpath=/data/log/r3.log --fork
all output going to: /data/log/r3.log
forked process: 19528
[root@localhost ~]#
mongod的主要引數見表2-3。
表2-3 mongod的主要引數
引數名 描述
dbpath 資料檔案存放路徑,每個資料庫會在其中建立一個子目錄,用於防止同一個例項多次執行的mongod.lock也儲存在此目錄中
Logpath 錯誤日誌檔案
Logappend 錯誤日誌採用追加模式(預設是覆蓋模式)
bind_ip 對外服務的繫結ip,一般設定為空並且繫結在本機所有可用ip上,如有需要可以單獨指定port(對外服務監聽埠)。Web管理埠在這個port的基礎上+1000
Fork 以後臺Daemon形式執行服務
Journal 開啟日誌功能,透過儲存操作日誌來降低單機故障的恢復時間,在1.8版本後正式加入,取代1.7.5版本中的dur引數
Syncdelay 系統同步重新整理磁碟的時間,預設是60(單位:秒)
Directoryperdb 每個db存放在單獨的目錄中,建議設定該引數。與MySQL的獨立表空間類似
MaxConns 最大連線數
Repairpath 執行repair時的臨時目錄。如果沒有開啟Journal,異常down機後重啟,必須執行repair操作
在原始碼中,mongod的引數分為一般引數、Windows引數、Replication引數、Replica Set引數、隱含引數。表2-3中列舉的都是一般引數。如果要配置Replication、Replica Set等,還需要設定對應的引數,這裡先不展開,將在第11章講述。執行“mongod --help”可以看到對大多數引數的解釋,但有一些隱含引數只能透過檢視原始碼來獲得。隱含引數要麼是還在開發中,要麼是準備廢棄,因此在生產環境中不建議使用。
可能你已經注意到,mongod的引數中沒有設定記憶體大小相關的引數。是的,MongoDB使用os mmap機制來快取資料檔案資料,自身目前不提供快取機制。這樣做的好處是程式碼簡單,mmap在資料量不超過記憶體時效率很高。但是資料量超過系統可用記憶體後,寫入的效能可能不太穩定,容易出現大起大落。最新的1.8版本中,這種情況已經有了一定程度的改善。
這麼多引數全部寫在命令列中容易雜亂、不好管理,因此,mongod支援將引數寫到一個配置文字檔案中,然後透過“config”引數來引用此配置檔案,如下面的程式碼所示:
./mongod --config /etc/mongo.cnf
《MongoDB管理與開發精要》
2.3 啟動資料庫
MongoDB安裝、配置完後,必須先啟動,然後才能使用它。怎樣啟動呢?下面介紹3種方式啟動例項。2.3.1 命令列方式
MongoDB預設儲存資料目錄為/data/db/(或者C:/data/db),預設埠為27017,預設HTTP 埠為28017。當然,也可以改成其他目錄,只需要指定“dbpath”引數,如下面的程式碼所示:[root@localhost ~]# /Apps/mongo/bin/mongod --dbpath=/data/db
Sun Apr 8 22:41:06 [initandlisten] MongoDB starting : pid=13701
port=27017 dbpath=/data/db 32-bit
......
Sun Apr 8 22:41:06 [initandlisten] waiting for connections on port 27017
Sun Apr 8 22:41:06 [websvr] web admin interface listening on port 28017
2.3.2 配置檔案方式
如果是專業的DBA,在例項啟動時需要加很多的引數,以便使系統執行得更加穩定。可能啟動時在mongod後面加一長串的引數,這樣看起來非常混亂,而且不好管理和維護。有什麼方法讓這些引數有條理呢?MongoDB支援同MySql一樣的讀取配置檔案的方式來啟動資料庫,如下面的程式碼所示:[root@localhost bin]# cat /etc/mongodb.cnf
dbpath=/data/db/
啟動時加上“-f”引數,並指向配置檔案即可,如下面的程式碼所示:
[root@localhost bin]# ./mongod -f /etc/mongodb.cnf
Mon May 28 18:27:18 [initandlisten] MongoDB starting : pid=18481
port=27017 dbpath=/data/db/ 32-bit
......
Mon May 28 18:27:18 [initandlisten] waiting for connections on port 27017
Mon May 28 18:27:18 [websvr] web admin interface listening on port 28017
2.3.3 Daemon方式
大家可能注意到,前面的兩種方式都是在前臺啟動MongoDB程式,當啟動MongoDB程式的Session視窗不小心關閉時,MongoDB程式也將隨之停止,這無疑是非常不安全的。幸好,MongoDB提供了一種後臺Daemon方式啟動,只需加上一個“--fork”引數即可,這就可以方便地運算元據庫的啟動。要注意的是,用到了“--fork”引數就必須啟用“--logpath”引數,這是強制性的,如下面的程式碼所示:[root@localhost ~]# /Apps/mongo/bin/mongod --dbpath=/data/db --fork
--fork has to be used with --logpath
[root@localhost ~]# /Apps/mongo/bin/mongod --dbpath=/data/db
--logpath=/data/log/r3.log --fork
all output going to: /data/log/r3.log
forked process: 19528
[root@localhost ~]#
2.3.4 mongod引數方式
最簡單的就是透過執行mongod啟動MongoDB資料庫服務。mongod支援很多的引數,但都有預設值,其中最重要的是,需要指定資料檔案路徑,或者確保預設的/data/db存在並且有訪問許可權,否則啟動後會自動關閉服務。也就是說,只要確保dbpath就可以啟動MongoDB服務了。mongod的主要引數見表2-3。
表2-3 mongod的主要引數
引數名 描述
dbpath 資料檔案存放路徑,每個資料庫會在其中建立一個子目錄,用於防止同一個例項多次執行的mongod.lock也儲存在此目錄中
Logpath 錯誤日誌檔案
Logappend 錯誤日誌採用追加模式(預設是覆蓋模式)
bind_ip 對外服務的繫結ip,一般設定為空並且繫結在本機所有可用ip上,如有需要可以單獨指定port(對外服務監聽埠)。Web管理埠在這個port的基礎上+1000
Fork 以後臺Daemon形式執行服務
Journal 開啟日誌功能,透過儲存操作日誌來降低單機故障的恢復時間,在1.8版本後正式加入,取代1.7.5版本中的dur引數
Syncdelay 系統同步重新整理磁碟的時間,預設是60(單位:秒)
Directoryperdb 每個db存放在單獨的目錄中,建議設定該引數。與MySQL的獨立表空間類似
MaxConns 最大連線數
Repairpath 執行repair時的臨時目錄。如果沒有開啟Journal,異常down機後重啟,必須執行repair操作
在原始碼中,mongod的引數分為一般引數、Windows引數、Replication引數、Replica Set引數、隱含引數。表2-3中列舉的都是一般引數。如果要配置Replication、Replica Set等,還需要設定對應的引數,這裡先不展開,將在第11章講述。執行“mongod --help”可以看到對大多數引數的解釋,但有一些隱含引數只能透過檢視原始碼來獲得。隱含引數要麼是還在開發中,要麼是準備廢棄,因此在生產環境中不建議使用。
可能你已經注意到,mongod的引數中沒有設定記憶體大小相關的引數。是的,MongoDB使用os mmap機制來快取資料檔案資料,自身目前不提供快取機制。這樣做的好處是程式碼簡單,mmap在資料量不超過記憶體時效率很高。但是資料量超過系統可用記憶體後,寫入的效能可能不太穩定,容易出現大起大落。最新的1.8版本中,這種情況已經有了一定程度的改善。
這麼多引數全部寫在命令列中容易雜亂、不好管理,因此,mongod支援將引數寫到一個配置文字檔案中,然後透過“config”引數來引用此配置檔案,如下面的程式碼所示:
./mongod --config /etc/mongo.cnf
《MongoDB管理與開發精要》
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16502878/viewspace-714757/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 怎樣開啟mongodb資料庫MongoDB資料庫
- 【資料庫資料恢復】MongoDB資料庫服務啟動失敗的資料恢復案例資料庫資料恢復MongoDB
- 【資料庫資料恢復】無法啟動MongoDB服務的資料恢復案例資料庫資料恢復MongoDB
- 資料庫資料恢復—MongoDB資料庫檔案丟失,啟動報錯的資料恢復案例資料庫資料恢復MongoDB
- Mongodb總結6-資料庫啟動、停止、備份等命令MongoDB資料庫
- 資料庫資料恢復——Windows無法啟動MongoDB服務的資料恢復案例資料庫資料恢復WindowsMongoDB
- MongoDB資料庫MongoDB資料庫
- mongodb怎麼手動建立資料庫MongoDB資料庫
- mongoDB因root啟動關閉資料庫導致mongo普通使用者無法啟動MongoDB資料庫
- 3.1 啟動資料庫資料庫
- 啟動MySql資料庫MySql資料庫
- 資料庫的啟動資料庫
- mongodb資料庫使用03、python和mongodb的互動MongoDB資料庫Python
- MongoDB 資料庫操作MongoDB資料庫
- mongodb資料庫操作MongoDB資料庫
- nodejs操作mongodb資料庫(mongodb)NodeJSMongoDB資料庫
- 資料庫系統檔案啟動資料庫資料庫
- 啟動資料庫監聽資料庫
- MySQL資料庫如何啟動?MySql資料庫
- 啟動和停止資料庫.資料庫
- 資料庫啟動過程資料庫
- 資料庫啟動問題資料庫
- mongodb資料庫中插入資料MongoDB資料庫
- mongodb啟動MongoDB
- 資料庫自動啟動關閉資料庫
- 3.1.5.8 隨系統啟動自動啟動資料庫資料庫
- 初試MongoDB資料庫MongoDB資料庫
- mongodb 如何建立資料庫MongoDB資料庫
- 快速掌握 MongoDB 資料庫MongoDB資料庫
- MongoDB資料庫安裝MongoDB資料庫
- 學習MongoDB資料庫MongoDB資料庫
- mongoDB資料庫之聚合MongoDB資料庫
- MongoDB資料庫備份MongoDB資料庫
- MongoDB資料庫入門MongoDB資料庫
- MongoDB資料庫簡介MongoDB資料庫
- Mongodb資料庫連線MongoDB資料庫
- 資料庫——MongoDB——>Java篇資料庫MongoDBJava
- MongoDB資料庫效能分析MongoDB資料庫