小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

主流NOSQL數(shù)據(jù)庫(kù)之MongoDB快速入門(mén)

 深海問(wèn)道 2017-05-24

  【IT168 專稿】目前,NOSQL在業(yè)界正發(fā)展的如火如荼,其中Mongodb是其中十分優(yōu)秀的一員,MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),由C++語(yǔ)言編寫(xiě),旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。在本系列教程中,將分三部分指導(dǎo)對(duì)Mongodb的學(xué)習(xí),在第一部分中,將簡(jiǎn)單介紹Mongodb的安裝和基本使用方法,在第二部分中,將介紹Java對(duì)Mongodb的編程操作,在第三部分中,將介紹Spring對(duì)Mongodb的編程操作。

  Mongodb在Windows上的安裝

  首先,我們到Mongodb的官方網(wǎng)站http://www./downloads下載,下載的版本目前是1.8.1,下載后,解壓到文件夾,比如C:\mongodb-win32-1.8.1。接下來(lái),我們可以觀察下,該文件夾下有如下文件:

主流NOSQL數(shù)據(jù)庫(kù)之MongoDB快速入門(mén)

  可以看到,mongodb可謂十分簡(jiǎn)單,只有10個(gè)文件。接下來(lái),我們創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)文件存放的目錄,這里設(shè)定為c:\mymongodb。然后可以在命令行方式下啟動(dòng)mongodb了,運(yùn)行如下命令:

C:\mongodb-win32-1.8.1\bin>mongod --dbpath "c:\mymongodb"
當(dāng)出現(xiàn)如下提示信息時(shí),即代表已經(jīng)成功啟動(dòng)了mongodb

Fri Apr 29 17:15:34 [initandlisten] MongoDB starting :
pid=5280 port=27017 dbpath=c:\mymongodb 32-bi
...
Fri Apr 29 17:15:34 [initandlisten] waiting for connections on port 27017
Fri Apr 29 17:15:34 [websvr] web admin interface listening on port 28017

   在上面的信息中,我們注意到,mongodb在端口27017進(jìn)行了監(jiān)聽(tīng)來(lái)自客戶端的連接,而在28017端口,則啟用了web界面的管理工具,因此我們可以通過(guò)http://localhost:28017進(jìn)行訪問(wèn),可以看到如下的界面:

主流NOSQL數(shù)據(jù)庫(kù)之MongoDB快速入門(mén)
▲點(diǎn)擊查看大圖

  接下來(lái),我們學(xué)習(xí)下,如何將mongodb安裝成windows 中的服務(wù),首先我們?cè)趍ongodb下,可以通過(guò)—help選項(xiàng),查看相關(guān)的幫助指令,如下:

   C:\MongoDB\bin>mongod --help

Windows Service Control Manager options:
  --install                install mongodb service
  --remove              remove mongodb service
  --reinstall             reinstall mongodb service (equivilant of mongod
                             --remove followed by mongod --install)
  --serviceName arg           windows service name
  --serviceDisplayName arg windows service display name
  --serviceDescription arg    windows service description
  --serviceUser arg              user name service executes as
  --servicePassword arg       password used to authenticate serviceUser

   可以看到,--install和—remove兩個(gè)參數(shù)正是我們需要的。因此,將mongodb安裝成windows服務(wù)的命令如下:

  mongod --dbpath "c:\mymongodb" --logpath "c:\mymongodb\logs.txt" --install --serviceName "MongoDB"

   上面的命令行中,用—dbpath參數(shù)指出了數(shù)據(jù)庫(kù)的目錄,--logpath則指出了日志存放的目錄,而—serviceName參數(shù)則指出了,命名安裝的服務(wù)名為MongoDB,運(yùn)行后有如下提示:

all output going to: c:\mymongodb\logs.txt
Creating service MongoDB.
Service creation successful.
Service can be started from the command line via 'net start "MongoDB"'.

   并且可以在windows的控制面板中的服務(wù)中,看到該服務(wù)。而卸載服務(wù)的命令也很簡(jiǎn)單,如下:

mongod --remove --serviceName "MongoDB"

  在Ubuntu上安裝Mongodb

  Ubuntu是目前十分受歡迎的UNIX系統(tǒng)的之一,本文將介紹如何在Ubuntu上進(jìn)行安裝mongodb。步驟如下:

  1) 首先將如下的語(yǔ)句添加到/etc/apt/sources.list文件的最末,以便將包含最新版本的mongodb發(fā)行包進(jìn)行下載deb http://downloads-distro./repo/ubuntu-upstart dist 10gen,修改后的sources.list文件如下:

  #...content omitted ...

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu natty main
deb-src http://extras.ubuntu.com/ubuntu natty main

#mongo repo ###############new line
deb http://downloads-distro./repo/ubuntu-upstart dist 10gen

   2) 更新包

  sudo apt-get update

   3) 增加GPG KEY

  10gen 包需要GPG KEY,因此需要導(dǎo)入:

  sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

   4)安裝 mongodb-10gen

  一切準(zhǔn)備好后,就可以安裝了,命令如下:

  sudo apt-get install mongodb-10gen

   5) 修改相關(guān)設(shè)置

  在ubuntu下,啟動(dòng)mongodb的腳本文件在/etc/init/mongo和/etc/init.d/mongo中可以找到,同時(shí),會(huì)把mongodb下的所有文件復(fù)制到/usr/bin目錄下。而主要的配置文件mongodb.conf則在/etc/mongodb.conf下,可以根據(jù)需要進(jìn)行一些修改,如下:

# mongodb.conf

# 存儲(chǔ)數(shù)據(jù)文件的位置

# Note: if you run mongodb as a non-root user (recommended) you may
# need to create and set permissions for this directory manually,
# e.g., if the parent directory isn't mutable by the mongodb user.
dbpath=/var/lib/mongodb

#存放log的地方
logpath=/var/log/mongodb/mongodb.log

logappend=true

#port = 27017
#......

   6) 驗(yàn)證安裝

  為了驗(yàn)證安裝,只需要在客戶端嘗試連接就可以了,如下:

$ mongo
MongoDB shell version: 1.8.1
connecting to: test
>

 


  創(chuàng)建Mongodb數(shù)據(jù)庫(kù)

  由于Mongodb不是關(guān)系型數(shù)據(jù)庫(kù)文件,實(shí)際上,它并不存在傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)中的所謂“數(shù)據(jù)庫(kù)”的概念,但不用擔(dān)心,當(dāng)你第一次新增數(shù)據(jù)時(shí),mongodb就會(huì)以collection集合的形式進(jìn)行保存和新建,而不需要你手工去新建立。下面是例子:

  1)列出當(dāng)前的數(shù)據(jù)庫(kù)

MongoDB shell version: 1.8.1
connecting to: test
> show dbs
admin   0.03125GB
local   (empty)

   可以使用show dbs 來(lái)列出當(dāng)前有多少個(gè)數(shù)據(jù)庫(kù),上面看到的是有兩個(gè),分別是admin和local。

  2) 定義新的數(shù)據(jù)庫(kù)名

  我們通過(guò)使用“use new-databasename”的語(yǔ)法去使用一個(gè)新的數(shù)據(jù)庫(kù),注意,即使你的數(shù)據(jù)庫(kù)還沒(méi)建立起來(lái),依然可以這樣使用,因?yàn)閙ongodb會(huì)在真正插入了數(shù)據(jù)后,才會(huì)真正建立起來(lái)。

> use mkyongdb
switched to db mkyongdb
> show dbs
admin   0.03125GB
local   (empty)

   注意,在use mkyongdb后,mkyongdb實(shí)際上還沒(méi)真正建立起來(lái),只是表明目前是在使用mkyongdb了。

  3)保存數(shù)據(jù)

  定義一個(gè)collection,名為“users”,然后插入數(shù)據(jù),如下:

> db.users.save( {username:"mkyong"} )
> db.users.find()
{ "_id" : ObjectId("4dbac7bfea37068bd0987573"), "username" : "mkyong" }
>
> show dbs
admin   0.03125GB
local   (empty)
mkyongdb        0.03125GB

   可以看到,用db.users.find()可以找出已插入的數(shù)據(jù)。這個(gè)時(shí)候,名為“users”的collection已經(jīng)建立起來(lái)了,同時(shí),數(shù)據(jù)庫(kù)mkyongdb也建立起來(lái)了。

  修復(fù)mongodb數(shù)據(jù)庫(kù)

  當(dāng)mongodb發(fā)生問(wèn)題時(shí),就要修復(fù)其數(shù)據(jù)庫(kù),比如遇到以下的信息:

**************
old lock file: \data\db\mongod.lock.  probably means unclean shutdown
recommend removing file and running --repair
see: http://dochub./core/repair for more information
*************
Mon May 09 12:37:43 [initandlisten] exception in initAndListen std::exception: old lock file,
terminating
Mon May 09 12:37:43 dbexit:
Mon May 09 12:37:43 [initandlisten] shutdown: going to close listening sockets...
Mon May 09 12:37:43 [initandlisten] shutdown: going to flush diaglog...
Mon May 09 12:37:43 [initandlisten] shutdown: going to close sockets...
Mon May 09 12:37:43 [initandlisten] shutdown: waiting for fs preallocator...
Mon May 09 12:37:43 [initandlisten] shutdown: closing all files...
Mon May 09 12:37:43 closeAllFiles() finished
Mon May 09 12:37:43 dbexit: really exiting now

   那么這個(gè)時(shí)候,可以采用如下方法去修復(fù)它:

找到\data\db\mongod.lock這個(gè)文件,刪除它
采用mongod –repair命令進(jìn)行修復(fù)
  Mon May 09 12:42:57 [initandlisten] db version v1.8.1, pdfile version 4.5
//......
Mon May 09 12:42:57 [initandlisten] shutdown: going to close listening sockets...
Mon May 09 12:42:57 [initandlisten] shutdown: going to flush diaglog...
Mon May 09 12:42:57 [initandlisten] shutdown: going to close sockets...
Mon May 09 12:42:57 [initandlisten] shutdown: waiting for fs preallocator...
Mon May 09 12:42:57 [initandlisten] shutdown: closing all files...
Mon May 09 12:42:57 closeAllFiles() finished
Mon May 09 12:42:57 [initandlisten] shutdown: removing fs lock...
Mon May 09 12:42:57 dbexit: really exiting now

   小結(jié)

  在本文中,簡(jiǎn)單為大家介紹了Mongodb在widnows下和Linux下的安裝和一些基本操作,在下一篇教程中,將學(xué)習(xí)如何使用Java對(duì)Mongodb進(jìn)行操作,敬請(qǐng)期待。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多