日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MongoDB的安装启动

發(fā)布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB的安装启动 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一 配置及安裝

1、下載

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

2、解壓并配置

   mongod沒有參數(shù)的情況下會使用默認數(shù)據(jù)目錄/data/db(Windows為C:\data\db),若目錄不存在或者不
 可寫,服務(wù)會啟動失敗。
 MongoDB默認端口為27017

二 啟動

1、前臺啟動

 1)linux
  運行mongod命令啟動數(shù)據(jù)庫服務(wù)器

./mongod --dbpath /path/mongodb --bind_ip 10.10.10.10 --port 27021 //啟動綁定固定的IP地址、端口
  • 1

  注:也可以不加端口和ip,服務(wù)會使用默認的端口27017,并且可以直接使用./mongo連上本機的      mongoddb,一般用于臨時的開發(fā)測試
 2)windows
  執(zhí)行mongod.exe

2、daemon方式運行

 1)命令后加”&”

./mongod --dbpath /path/mongodb --bind_ip 10.10.10.10 --port 27021 &
  • 1

 2)使用mongo字典的–fork參數(shù)

./mongod --dbpath /path/mongodb --bind_ip 10.10.10.10 --port 27021 --fork=true --logpath=/path/mongod.log
  • 1

3、用配置文件啟動

 mongo.conf

port=27018 //綁定的端口 bind_ip=10.10.10.10 //綁定的ip,可綁定多個用","分開 dbpath=/data/db //mongodb數(shù)據(jù)文件存儲路徑 logpath=/data/db/mongod.log //mongod的日志路徑 pidfilepath=/data/db/mongod.pid logappend=true //日志使用追加代替覆蓋 fork=true
  • ?
./mongod -f ../conf/mongo.conf
  • 1

 注:后臺運行時如果需要優(yōu)雅的關(guān)閉mongo進程,需要在bind_ip中增加127.0.0.1

4、啟動參數(shù)詳解

 dbpath:mongodb的數(shù)據(jù)文件存儲路徑
 logpath:mongodb的日志路徑
 logappend:日志使用最佳代替覆蓋,boolean值
 bind_ip:綁定的IP
 port:綁定的端口
 journal:write操作首先寫入”日志”,是一個數(shù)據(jù)安全的設(shè)置

5、啟動警告:WARNING: soft rlimits too low

 1)內(nèi)容

MongoDB shell version: 3.2.11 connecting to: test Server has startup warnings: 2017-05-09T12:34:19.688-0700 I CONTROL [initandlisten] 2017-05-09T12:34:19.688-0700 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
  • ?

  mongodb當(dāng)前限制:1024 processes, 64000 files
  mongodb建議要求:processes = 0.5*files=32000(至少)
  所以需要將 processes 從1024 改為 32000 或更大.
 2)解決方法
  方法一
   修改配置文件 /etc/security/limits.d/90-nproc.conf
   [root@localhost ~]# vi /etc/security/limits.d/90-nproc.conf

* soft nproc 1024 改為: * soft nproc 65536
  • ?

  方法二
   修改配置文件 /etc/security/limits.conf,添加配置信息:
   [root@localhost ~]# vi /etc/security/limits.conf

mongod soft nofile 65536 mongod hard nofile 65536 mongod soft nproc 65536 mongod hard nproc 65536
  • ?

  修改配置文件然后重啟 mongod 服務(wù)
3)mongoDB推薦配置

-f (file size): unlimited -t (cpu time): unlimited -v (virtual memory): unlimited -n (open files): 64000 -m (memory size): unlimited -u (processes/threads): 64000
  • ?

三 Mongo Shell

MongoDB自帶JavaScript shell,是一個功能完備的JavaScript解釋器

1、進入本地shell

 1)linux
  新起一個進程,./mongo命令

./mongo [--host] 10.10.10.10:27018
  • 1

 2)windows
  在mongo bin目錄執(zhí)行mongo命令

2、幫助文檔

 1)查看shell內(nèi)置的幫助文檔

> help
  • 1

 2)查看數(shù)據(jù)庫級別的幫助文檔

> db.help()
  • ?

 3)查看集合級別的幫助文檔

> db.foo.help()
  • ?

 4)查看響應(yīng)函數(shù)的JavaScript實現(xiàn)代碼
  直接在shell輸入函數(shù)名(函數(shù)名后不要輸入小括號)

> db.foo.update
  • ?

 5)查看復(fù)制集相關(guān)的幫助文檔

> rs.help()
  • ?

 6)查看集群級別的幫助文檔

> sh.help()
  • ?

3、使用shell執(zhí)行腳本

 mongo shell會依次執(zhí)行傳入的腳本,然后退出
 1)使用本地mongod

mongo script1.js script2.js script3.js
  • ?

 2)使用指定的主機/端口上的mongod運行腳本

mongo --quiet server-1:30000/foo script1.js script2.js
  • ?

 3)使用load()函數(shù),從交互式shell中運行腳本

>load("script1.js")
  • ?

 在腳本中可以訪問db變量,以及其他全局變量。shell輔助函數(shù)不可以在文件中使用

4、mongorc.js文件

 如果某些腳本會被頻繁加載,可以將它們添加到mongorc.js文件中。這個文件會在啟動shell時自動運行。

//禁止刪除數(shù)據(jù)庫 db.dropDatabase = DB.prototype.dropDatabase = no;
  • ?

   改變數(shù)據(jù)庫函數(shù)時,要確保同時對db變量和DB原型進行改變,如果只改變了其中一個,那么db變量可能沒
 有改變,或者這些改變在新使用的所有數(shù)據(jù)庫中都不會生效。

四 常用命令

1、連接遠程數(shù)據(jù)庫

conn = new Mongo("some-host:port") db = conn.getDB("");
  • ?

db為全全局變量,是一個數(shù)據(jù)庫連接,這個變量是通過shell訪問MongoDB的主要入口點

2、輔助函數(shù)及對應(yīng)JavaScript函數(shù)

use dbname db.getSisterDB("dbname") 切換當(dāng)前DB show dbs db.getMongo().getDBs() 列出所有DB show collections|show tables db.getCollectionNames() 列出當(dāng)前DB的所有集合 show logs 列出運行日志 show profile 列出當(dāng)前DB的所有慢查詢 show users 列出當(dāng)前DB的所有用戶
  • ??

3、格式化輸出查詢結(jié)果

> db.users.find().pretty()
  • ?

五 關(guān)閉mongoDB

1、前臺運行

 默認的情況下,關(guān)閉shell,mongodb就停止運行了。

2、后臺運行

> use admin; > db.shutdownServer();
  • ?

 注:此命令值允許在本地,或是一個經(jīng)過認證的客戶端。

3、關(guān)閉主從式的復(fù)制集群

   檢查從Mongodb的數(shù)據(jù)更新時間,如果所有的從MOngodb和主的時間差都超過10,這個時候不會關(guān)閉
 mongodb(可以通過配置timeoutSecs的方式來讓從Mongodb完成數(shù)據(jù)的更新),如果其中有一個Mongodb
 與主服務(wù)時間差在10s內(nèi),那么主服務(wù)器會關(guān)閉,并且等待從Mongodb更新完成并關(guān)閉

4、強制關(guān)閉服務(wù)

db.adminCommand({shutdown:1,force:true})|db.shutdownServer({force:true})

5、指定特定超時時間的關(guān)閉服務(wù)器

db.shutdownServer({force:true,timeoutsec:5})

六 可視化工具

1、MongoChef

 下載地址:http://3t.io/mongochef/download/core/platform/

2、NoSQL Manager for MongoDB Professional

 下載地址:https://www.mongodbmanager.com/download

?

使用可視化工具的時候需要在本地把mongodb給啟動起來,

1.添加mongodb到環(huán)境變量里邊,這樣就不用每次進入到bin目錄去執(zhí)行mongo.conf的文件了。

2,把mongo添加到windows的本服務(wù)里面,直接點擊啟動也行,這樣不能再命令行里面執(zhí)行了

3,必須以管理員身份運行cmd

?

配置文件啟動mongodb

<-----配置文件----->

#數(shù)據(jù)庫路徑
dbpath=E:\MongoDBDATA\data
#日志輸出文件路徑
logpath=E:\MongoDBDATA\log/mongo.log ?
#錯誤日志采用追加模式,配置這個選項后mongodb的日志會追加到現(xiàn)有的日志文件,而不是從新創(chuàng)建一個新文件
logappend=true ?
#啟用日志文件,默認啟用
journal=true ?
#這個選項可以過濾掉一些無用的日志信息,若需要調(diào)試使用請設(shè)置為false
quiet=true?
#端口號 默認為27017?
port=27017 ?
#http配置
#httpinterface=true

<-----配置文件----->

把?mongodb放到windows的自帶的服務(wù)里面
這樣開機就等于啟動了mongo

?

刪除 collections

db.dropDatabase()

刪除集合下面的數(shù)據(jù)

db.user,drop()

?

增加,插入數(shù)據(jù)。

查詢數(shù)據(jù)

更新數(shù)據(jù)

db.goods.update({name:"2i9",{$set:{class.name:"eeeeee"})? ? 更新集合下面的對象。。。。

查詢文檔

db.goods.find({name:'mi6'})

查詢文檔下面的子文檔

db.goods.find({name.class:'mi6'})

?

刪除數(shù)據(jù)

總結(jié)

以上是生活随笔為你收集整理的MongoDB的安装启动的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。