溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Mongodb參數(shù)說(shuō)明與常見(jiàn)錯(cuò)誤處理的示例分析

發(fā)布時(shí)間:2021-07-29 09:37:46 來(lái)源:億速云 閱讀:145 作者:小新 欄目:MongoDB數(shù)據(jù)庫(kù)

這篇文章將為大家詳細(xì)講解有關(guān)Mongodb參數(shù)說(shuō)明與常見(jiàn)錯(cuò)誤處理的示例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

示例:

一、在 CentOS7 上安裝 MongoDB

1 通過(guò) SecureCRT 連接至 CentOS7 服務(wù)器;

2 進(jìn)入到 /usr/local/ 目錄:

cd /usr/local

3 在當(dāng)前目錄下創(chuàng)建 tools 目錄:

mkdir -p tools

4 進(jìn)入到 tools 目錄中:

cd tools

5 下載與 CentOS 系統(tǒng)匹配的 mongodb-linux-x86_64-rhel70-3.2.4.tgz 文件:

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.4.tgz

6 解壓縮 mongodb-linux-x86_64-rhel70-3.2.4.tgz 文件:

tar -zxvf mongodb-linux-x86_64-rhel70-3.2.4.tgz

解壓完成后得到 mongodb-linux-x86_64-rhel70-3.2.4 文件夾及其所屬的文件;

7 重命名 mongodb-linux-x86_64-rhel70-3.2.4 文件為 mongodb3.2.4:

mv mongodb-linux-x86_64-rhel70-3.2.4 mongodb3.2.4

8 返回到上一級(jí)目錄,并創(chuàng)建 mongodb 目錄:

cd ../
mkdir -p mongodb

9 將 mongodb3.2.4 文件從 /usr/local/tools 目錄中移動(dòng)到 /usr/local/mongodb 目錄中:

mv tools/mongodb3.2.4/ mongodb/

10 進(jìn)入到 /usr/local/mongodb/mongodb3.2.4 目錄中:

cd mongodb/mongodb3.2.4

11 在 /usr/local/mongodb/mongodb3.2.4/bin/ 目錄中創(chuàng)建一個(gè)存放日志的目錄:

mkdir -p data/test/logs

12 在 /usr/local/mongodb/mongodb3.2.4/bin/ 目錄中創(chuàng)建一個(gè)存放數(shù)據(jù)文件的目錄:

mkdir -p data/test/db

13 進(jìn)入 bin 目錄中:

cd bin/

14 創(chuàng)建配置文件 mongodb.conf:

vi mongodb.conf

在 mongodb.conf 寫(xiě)入如下內(nèi)容:

# idae - MongoDB config start - 2016-05-02

# 設(shè)置數(shù)據(jù)文件的存放目錄
dbpath = /usr/local/mongodb/mongodb3.2.4/bin/data/test/db

# 設(shè)置日志文件的存放目錄及其日志文件名
logpath = /usr/local/mongodb/mongodb3.2.4/bin/data/test/logs/mongodb.log

# 設(shè)置端口號(hào)(默認(rèn)的端口號(hào)是 27017)
port = 27017

# 設(shè)置為以守護(hù)進(jìn)程的方式運(yùn)行,即在后臺(tái)運(yùn)行
fork = true

# nohttpinterface = true
nohttpinterface = true
# idae - MongoDB config end - 2016-05-02

按英文狀態(tài)下的“:wq”保存并退出;

參數(shù)解釋:

  • --dbpath 數(shù)據(jù)庫(kù)路徑(數(shù)據(jù)文件)

  • --logpath 日志文件路徑

  • --master 指定為主機(jī)器

  • --slave 指定為從機(jī)器

  • --source 指定主機(jī)器的IP地址

  • --pologSize 指定日志文件大小不超過(guò)64M.因?yàn)閞esync是非常操作量大且耗時(shí),最好通過(guò)設(shè)置一個(gè)足夠大的oplogSize來(lái)避免resync(默認(rèn)的 oplog大小是空閑磁盤(pán)大小的5%)。

  • --logappend 日志文件末尾添加,即使用追加的方式寫(xiě)日志

  • --journal 啟用日志

  • --port 啟用端口號(hào)

  • --fork 在后臺(tái)運(yùn)行

  • --only 指定只復(fù)制哪一個(gè)數(shù)據(jù)庫(kù)

  • --slavedelay 指從復(fù)制檢測(cè)的時(shí)間間隔

  • --auth 是否需要驗(yàn)證權(quán)限登錄(用戶名和密碼)

  • --syncdelay 數(shù)據(jù)寫(xiě)入硬盤(pán)的時(shí)間(秒),0是不等待,直接寫(xiě)入

  • --notablescan 不允許表掃描

  • --maxConns 最大的并發(fā)連接數(shù),默認(rèn)2000 

  • --pidfilepath 指定進(jìn)程文件,不指定則不產(chǎn)生進(jìn)程文件

  • --bind_ip 綁定IP,綁定后只能綁定的IP訪問(wèn)服務(wù)

15 啟動(dòng) mongodb 服務(wù):

15.1 以自定義的 mongodb 配置文件方式啟動(dòng):

./mongod --config mongodb.conf

15.2 以修復(fù)模式啟動(dòng) mongodb:

./mongod --repair -f mongodb.conf

15.3 以參數(shù)式啟動(dòng):

./mongod /usr/local/mongodb/mongodb3.2.4/bin/mongod --dbpath=/usr/local/mongodb/mongodb3.2.4/bin/data/test/db --logpath=/usr/local/mongodb/mongodb3.2.4/bin/data/test/logs/mongodb.log --fork

如果報(bào)如下錯(cuò)誤:

 ERROR: child process failed, exited with error number 1

很可能是 mongodb.conf 中配置的路徑不一致問(wèn)題;

如果報(bào)如下錯(cuò)誤:

 ERROR: child process failed, exited with error number 100

很可能是沒(méi)有正常關(guān)閉導(dǎo)致的,那么可以刪除 mongod.lock 文件

15 查看 mongodb 進(jìn)程:

ps aux |grep mongodb

16 查看 mongodb 服務(wù)的運(yùn)行日志:

tail -200f /usr/local/mongodb/mongodb3.2.4/bin/data/test/logs/mongodb.log

17 檢查端口是否已被啟動(dòng):

netstat -lanp | grep 27017

18 殺死 mongodb 進(jìn)程,即可關(guān)閉 mongodb 服務(wù):

kill -15 PID

PID 可以通過(guò)步驟 16 查看到

19 如果出現(xiàn)如下情況

warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused

可以采用如下兩種方式解決:

19.1 若數(shù)據(jù)庫(kù)出現(xiàn)如上不能連接的原因,可能是data目錄下的mongod.lock文件問(wèn)題,可以用如下命令修復(fù):

./bin/mongod --repair

19.2 或者直接刪除mongod.lock

rm -f /usr/local/mongodb/data/db/mongod.lock

然后再啟動(dòng) mongodb 服務(wù):

./mongod --config mongodb.conf

如果以上兩部依然解決不掉,則是路徑文件,我們可以刪除 /usr/local/mongodb/mongodb3.2.4/bin/data 目錄及其子目錄,并采用絕對(duì)路徑的方式:

./mongod /usr/local/mongodb/mongodb3.2.4/bin/mongod --dbpath=/usr/local/mongodb/mongodb3.2.4/bin/data/test/db --logpath=/usr/local/mongodb/mongodb3.2.4/bin/data/test/logs/mongodb.log --fork

20 將 mongodb 服務(wù)加入到自啟動(dòng)文件中:

vi /etc/rc.local

在文件末尾追加如下命令:

/usr/local/mongodb/mongodb3.2.4/bin/mongod --config mongodb.conf

保存并退出:

:wq!

21 客戶端常用命令:

db.version(); # 查看 mongodb 的版本
use test; # 進(jìn)入到指定的數(shù)據(jù)中,這里是 test 數(shù)據(jù)庫(kù)

22 在 /usr/local/mongodb/mongodb3.2.4/bin/ 目錄中,鍵入如下命令,打開(kāi)一個(gè) mongodb 的客戶端程序,即打開(kāi)一個(gè) mongodb 的 shell 客戶端,這個(gè) shell 客戶端同時(shí)也是一個(gè) JavaScript 編輯器,即可用輸入任何的 JavaScript 腳本:

./mongo

默認(rèn)連接至 test 數(shù)據(jù)庫(kù)

23 在瀏覽器中輸入 IP:27017,如:

http://101.201.212.129:27017/

可以查看 MongoDB 的版本信息;

關(guān)于“Mongodb參數(shù)說(shuō)明與常見(jiàn)錯(cuò)誤處理的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI