mongodb的安裝過程和使用

系統安裝(window)

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

直接點擊即可,不過要注意兩個問題。

1.安裝過程不能勾選安裝MongoDB Compass,否則你會發現找不到安裝目錄,找不到mongoDB這軟件。

這裏寫圖片描述

2.直接這樣啓動不行,需要配置數據文件所在的目錄,默認是C:\data\db\,需要自行新建,沒有數據目錄就直接啓動會直接退出,如下

2018-07-08T02:20:32.748-0700 I CONTROL [initandlisten] MongoDB starting : pid=92 port=27017 dbpath=C:\data\db\ 64-bit host=wang
2018-07-08T02:20:32.749-0700 I CONTROL [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2018-07-08T02:20:32.749-0700 I CONTROL [initandlisten] db version v3.6.3
2018-07-08T02:20:32.749-0700 I CONTROL [initandlisten] git version: 9586e557d54ef70f9ca4b43c26892cd55257e1a5
2018-07-08T02:20:32.749-0700 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1u-fips 22 Sep 2016
2018-07-08T02:20:32.750-0700 I CONTROL [initandlisten] allocator: tcmalloc
2018-07-08T02:20:32.750-0700 I CONTROL [initandlisten] modules: none
2018-07-08T02:20:32.750-0700 I CONTROL [initandlisten] build environment:
2018-07-08T02:20:32.750-0700 I CONTROL [initandlisten] distmod: 2008plus-ssl
2018-07-08T02:20:32.750-0700 I CONTROL [initandlisten] distarch: x86_64
2018-07-08T02:20:32.750-0700 I CONTROL [initandlisten] target_arch: x86_64
2018-07-08T02:20:32.750-0700 I CONTROL [initandlisten] options: {}
2018-07-08T02:20:32.750-0700 I STORAGE [initandlisten] exception in initAndListen: NonExistentPath: Data directory C:\data\db\ not found., terminating
2018-07-08T02:20:32.750-0700 I CONTROL [initandlisten] now exiting
2018-07-08T02:20:32.750-0700 I CONTROL [initandlisten] shutting down with code:100

此時需要新建C:\data\db\,又或者修改dbpath(不過每次都需要輸入,可改爲service)然後命令行的形式啓動如下

mongod --dbpath "C://env//database//MongoDB-Serve-3.6//data" --logpath "C://env//database//MongoDB-Serve-3.6//logs//mongodb.log" --logappend 

網上找的,可以通過創建window服務啓動,分別是兩種,但都沒試過,這裏mark。

#寫成window服務
mongod --logpath "d://mongodb//log//mongodb.log" --logappend --dbpath "d://mongodb//data" --directoryperdb --serviceName MongoDB --install
#刪除服務指令:
mongod.exe --remove --serviceName "MongoDB

2.
sc create mongodb binPath= "c:\mongodb\bin\mongod.exe --service --dbpath D:\mongodb\data --logpath=d:\mongodb\log\mongodb.log --logappend --directoryperdb"
sc delete mongodb 

我是通過Always Up管理啓動的(順便說一句,Always Up用於管理那些命令行啓動的程序挺好的)

這裏寫圖片描述

系統安裝(linux)

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

sudo apt-get upgrade

sudo apt-get update

apt-get install mongodb-org=2.6.5 mongodb-org-server=2.6.5 mongodb-org-shell=2.6.5 mongodb-org-mongos=2.6.5 mongodb-org-tools=2.6.5

這樣安裝一般默認是啓動的。

解壓安裝

1、檢查是否安裝過mongodb,如已安裝,則刪除

rpm -qa | grep mongodb

2、下載mongodb(下載到/doiido/soft)

mkdir /doiido/soft
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.5.tgz -P /doiido/soft

3、解壓縮mongodb

cd /doiido/soft
tar zxvf mongodb-linux-x86_64-2.6.5.tgz
mv mongodb-linux-x86_64-2.6.5 /doiido/mongodb

4、建立數據庫和日誌的存儲目錄

mkdir /doiido/mongodb/data
mkdir /doiido/mongodb/logs
touch /doiido/mongodb/logs/mongodb.log

5、建立配置文件

vi /doiido/mongodb/bin/mongodb.conf

dbpath=/doiido/mongodb/data
logpath=/doiido/mongodb/logs/mongodb.log
port=27017
fork=true
nohttpinterface=true

6、啓動mongodb

/doiido/mongodb/bin/mongod --bind_ip localhost -f /doiido/mongodb/bin/mongodb.conf

7、設置開機啓動

echo "/doiido/mongodb/bin/mongod --config /doiido/mongodb/bin/mongodb.conf" >> /etc/rc.local

8、測試
8.1、進入mongodb的shell模式

/doiido/mongodb/bin/mongo

8.2、查看數據庫列表

> show dbs

8.3、當前db版本

> db.version();

9、停止mongodb
9.1、進入mongodb關閉

/doiido/mongodb/bin/mongo
> db.shutdownServer();

9.2、使用mongodb指令關閉

mongod --shutdown --config /doiido/mongodb/bin/mongodb.conf

9.3、使用kill指令

ps -ef|grep mongo
kill pid

注意:這個地方不能使用kill -9 pid,這樣會導致數據丟失,同時mongodb還可能會報錯。
如果使用kill -9 pid的方式關閉mongodb,並且mongodb不能正常啓動,則需刪除mongod.lock文件:

rm -f /doiido/mongodb/data/mongod.lock

/doiido/mongodb/bin/mongod --config /doiido/mongodb/bin/mongodb.conf

使用

#進入mongo
mongo

#顯示數據庫列表
show dbs
#顯示當前數據庫中的集合(類似關係數據庫中的表table)
show collections
#顯示所有用戶
show users
#顯示數據庫操作命令
db.help()
#顯示集合操作命令,yourCollection是集合名 
db.yourCollection.help()

創建數據庫和集合(類似於table)

#切換到people數據庫。MongoDB 無需預創建people數據庫,在使用時會自動創建
use people 

#創建集合coder,成功會返回{"ok":1}
db.createCollection('coder')

數據的增刪改查

#增(成功返回  WriteResult({ "nInserted" : 1 }))
db.coder.insert({_id:1, cname: 'wangjiayong', cage: 24}) 

#刪
#等價於  delete from coder where cname='wangjiayong'
db.coder.remove({cname: 'wangjiayong'}) 

#改
#update coder set sage =30 where cname = 'wangjiayong';
db.coder.update({cname: 'wangjiayong'}, {$set: {cage: 30}}, false, true) #相當於:

#查
#等價於  select * from coder
db.coder.find()  
#等價於  select * from coder where cname='wangjiayong'
db.coder.find({cname: 'wangjiayong'})  
#等價於  select cname,cage from coder
db.coder.find({},{cname:1, cage:1,_id:0}) 
#等價於  select * from coder where cname = 'wangjiayong' and cage = 24
db.coder.find({cname: 'wangjiayong', cage: 24}) 
#等價於  select * from coder where cage = 24 or cage = 25
db.coder.find({$or: [{sage: 24}, {sage: 25}]}) 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章