linux下的mongodb
❶ linux 下怎樣尋找mongodb安裝的位置
find / -name mongodb
locate mongodb
whereis mongodb
which mongodb
❷ linux下的mongodb服務自動關閉,不知道什麼原因
為解決頻繁的數據插入和更新問題(這些數據的可靠性要求不高,不需要事務),趕上NoMysql的熱潮,選擇目前最熱門的Mongodb,在測試中充分感受到mongodb安裝的簡單性和客戶端調用API的便捷。
但在生產環境下(操作系統CentOS 6.2,內存64G,CPU 12核),卻出現頻繁的宕機,有時候一天就要宕2次,雖然設置了replica sets,卻很容易掛掉2台,導致不可用。
查看mongod.log,發現每次宕機時都會列印Got signal: 11 (Segmentation fault),但從這個查找不到能夠解決問題的資料。
有人認為mongodb頻繁宕機大多數是因為在並發查詢的壓力下,因為熱數據沒有在內存中,被迫到文件系統讀取數據,很容易出現timeout的問題,之後會造成進程鎖死,經過驗證,如果把查詢(只有通過主鍵查一條記錄的查詢)的客戶端關閉掉,宕機的概率小非常多。查看每台mongodb的內存(通過mongodb命令控制台的db.serverStatus()看「mem」部分的「resident」),發現mongodb熱數據的內存只佔用不到2G,而數據文件有近200G,可能也是因為頻繁的宕機,導致熱數據一直未全部載入。
但還是會出現宕機,為了不需要人工重啟,就在每個replica的伺服器上用Linux Shell腳本寫了一段每隔1分鍾檢測mongodb進程死掉自動重啟的進程,雖然能夠解決mongodb一直在運行的狀態,但發現mongodb的collections中出現很多損壞的數據,甚至出現一些自動創建的異常collections,如一個collections的名稱是「jingdong」,則會出現多個「ingdong」、"jing"、「jingdon」之類的collections。
❸ 如何在linux下安裝mongodb
方法/步驟
首先到下面的工具原料中的mongodb的官網下載對應你系統的安裝包,拷貝到你的linux系統上面,如果有網路可以直接用wget下載
解壓對應的安裝包
命令如下:
tar zxf mongodb-linux-i686-2.0.2.tgz
因為mongodb不需要像別的資料庫那樣繁瑣的配置解壓後放到慣例的/usr/local目錄下面,當然你可以放到任何地方,放到/usr/local下面方便管理
命令如下:
mv mongodb-linux-i686-2.0.2/* /usr/local/mongodb
然後為mongodb創建資料庫存放的位置和日誌文件,默認是在/data/db下面,同樣為了方便就在mongodb下面建立了相應的目錄
進到mongodb下面的bin目錄下查看mongodb的幫助文檔和我們用到的啟動參數
啟動mongodb資料庫,對應的參數說明用綠色表明了
為了安全期間建議關閉28017埠防止信息外泄
做好上面的操作就可以進入mongodb的客戶端開始你的mongodb之旅了.
❹ 如何在Linux下快速安裝MongoDB
下載完安裝包,並解壓tgz(以下演示的是64位Linux上的安裝)。curl-OetotheMongoDBshell.……由於它是一個JavaScriptshell,您可以運行一些簡單的算術運算:>2+24>3+69現在讓我們插入一些簡單的數據,並對插入的數據進行檢索:>db.runoob.insert({x:10})WriteResult({"nInserted":1})>db.runoob.find(){"_id":ObjectId("5604ff74a274a611b0c990aa"),"x":10}>第一個命令將數字10插入到runoob集合的x欄位中。MongoDbweb用戶界面MongoDB提供了簡單的HTTP用戶界面。如果你想啟用該功能,需要在啟動的時候指定參數--rest。$./mongod--dbpath=/data/db--restMongoDB的Web界面訪問埠比服務的埠多1000。如果你的MongoDB運行埠使用默認的27017,你可以在埠號為28017訪問web用戶界面,即地址為:http://localhost:28017。
❺ linux mongodb 怎麼使用
1.連接mongodb
mongo/bin目錄下執行
./mongo
2.查看資料庫
show dbs
3.查看當前所在資料庫
db
4.創建資料庫
use openfire (臨時創建 如果不做操作 則離開後被系統刪除)
5.在當前資料庫刪除當前資料庫
db.dropDatabase()
6.查看當前庫的所有用戶
show users
7.查看集合(或者叫表)
show collections
8.創建集合
db.createCollection(「mycollection」)
9.創建集合並制定集合的屬性
db.createCollection(「mycol」, { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )
欄位
類型
描述
capped Boolean (可選)如果為true,則啟用封頂集合。封頂集合是固定大小的集合,會自動覆蓋最早的條目,當它達到其最大大小。如果指定true,則需要也指定尺寸參數。
autoIndexID Boolean (可選)如果為true,自動創建索引_id欄位的默認值是false。
size number (可選)指定最大大小位元組封頂集合。如果封頂如果是 true,那麼你還需要指定這個欄位。
max number (可選)指定封頂集合允許在文件的最大數量。
10.另一種創建集合
(當插入一條數據時,不存在mongodb會幫我們創建,和創建資料庫同理)
db.MySecondCollection.insert({「name」 : 「ming」})
11.刪除當前庫的一個集合
db.CollectionName.drop()
12.插入一條數據
db.MyFirstCollection.insert({「_id」:」3」,」title」:」mongotest」,」description」:」this is test」})
注意:插入的都是JSON形式的,所以一定要用{},否則會報錯:
Sat Mar 19 14:22:39.160 SyntaxError: Unexpected token :
13.插入一條_id存在的數據
db.MyFirstCollection.insert({「_id」:」3」,」title」:」mm」})
輸出:E11000 plicate key error index: openfire.MyFirstCollection.$_id_ p key: { : 「3」 }
解釋:_id即是mongodb的默認主鍵,默認自動生成,我們可以直接設置以達到我們想要的目的
❻ 如何在Linux下快速安裝MongoDB
方法/步驟想在shell中連接資料庫,首先要在連接數據的機器上安裝mongodb的客戶端才可以。客戶端的安裝在這里不再重復,自己網路或者google一下吧。連接mongodb的命令如下:/home/test/mongodb/mongodb-2.2.3/bin/mongo127.0.0.1:8888這個是我的資料庫配置,沒有設置用戶名密碼。所以直接通過該命令就可以連接。連結後會有一個默認連接的資料庫。mongodb常用命令:查看資料庫命令:showdbs;查看集合命令:showcollections;切換資料庫:usedatabaseName;查詢數據:db.集合名.find()插入數據:db.集合名.insert({name:'test',age:1});刪除:db.test.remove();如果我想通過shell腳本實現一個日誌分析並入庫的操作怎麼呢?簡單,如下操作就可以:sql="db.test.insert({name:'test',age:1});"//定義執行的sqlecho"$sql"|/home/test/mongodb/mongodb-2.2.3/bin/mongo127.0.0.1:8888/test--shell注意,echo命令中的格式必須這樣寫,管線命令後面的是是資料庫安裝地址然後是ip:埠號,斜線後是資料庫名稱,--shell表示通過shell交互
❼ linux下怎麼安裝mongodb
下載完安裝包,並解壓 tgz(以下演示的是 64 位 Linux上的安裝) 。
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz # 下載
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz # 解壓
mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb # 將解壓包拷貝到指定目錄
MongoDB 的可執行文件位於 bin 目錄下,所以可以將其添加到 PATH 路徑中:
export PATH=<mongodb-install-directory>/bin:$PATH
<mongodb-install-directory> 為你 MongoDB 的安裝路徑。如本文的 /usr/local/mongodb 。
創建資料庫目錄
MongoDB的數據存儲在data目錄的db目錄下,但是這個目錄在安裝過程不會自動創建,所以你需要手動創建data目錄,並在data目錄中創建db目錄。
以下實例中我們將data目錄創建於根目錄下(/)。
注意:/data/db 是 MongoDB 默認的啟動的資料庫路徑(--dbpath)。
mkdir -p /data/db
命令行中運行 MongoDB 服務
你可以再命令行中執行mongo安裝目錄中的bin目錄執行mongod命令來啟動mongdb服務。
注意:如果你的資料庫目錄不是/data/db,可以通過 --dbpath 來指定。
$ ./mongod
2015-09-25T16:39:50.549+0800 I JOURNAL [initandlisten] journal dir=/data/db/journal
2015-09-25T16:39:50.550+0800 I JOURNAL [initandlisten] recover : no journal files present, no recovery needed
2015-09-25T16:39:50.869+0800 I JOURNAL [initandlisten] preallocateIsFaster=true 3.16
2015-09-25T16:39:51.206+0800 I JOURNAL [initandlisten] preallocateIsFaster=true 3.52
2015-09-25T16:39:52.775+0800 I JOURNAL [initandlisten] preallocateIsFaster=true 7.7
MongoDB後台管理 Shell
如果你需要進入MongoDB後台管理,你需要先打開mongodb裝目錄的下的bin目錄,然後執行mongo命令文件。
MongoDB Shell是MongoDB自帶的互動式Javascript shell,用來對MongoDB進行操作和管理的互動式環境。
當你進入mongoDB後台後,它默認會鏈接到 test 文檔(資料庫):
$ cd /usr/local/mongodb/bin
$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
Welcome to the MongoDB shell.
……
由於它是一個JavaScript shell,您可以運行一些簡單的算術運算:
> 2+2
4
> 3+6
9
現在讓我們插入一些簡單的數據,並對插入的數據進行檢索:
> db.runoob.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.runoob.find()
{ "_id" : ObjectId("5604ff74a274a611b0c990aa"), "x" : 10 }
>
第一個命令將數字 10 插入到 runoob 集合的 x 欄位中。
MongoDb web 用戶界面
MongoDB 提供了簡單的 HTTP 用戶界面。 如果你想啟用該功能,需要在啟動的時候指定參數 --rest 。
$ ./mongod --dbpath=/data/db --rest
MongoDB 的 Web 界面訪問埠比服務的埠多1000。
如果你的MongoDB運行埠使用默認的27017,你可以在埠號為28017訪問web用戶界面,即地址為:http://localhost:28017。
❽ linux下怎麼查看mongodb
要先建立好MongoDB 存放數據文件和日誌文件的目錄,此處建立在/data下:
[root@localhost etc]# cd /data/
[root@localhost data]# ls
mongodb_data mongodb_log
在MongoDB安裝目錄下的bin下使用mongod啟動MongoDB,
./mongod --dbpath=/data/mongodb_data/ --logpath=/data/mongodb_log/mongodb.log --logappend&
等待啟動成功後,可查看是否啟動成功了,默認埠號是27017,當然在啟動時也可以指定未使用的其它埠。
先通過查看埠號看MongoDB是否啟動了。
[root@localhost data]# netstat -lanp | grep "27017"
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1573/mongod
unix 2 [ ACC ] STREAM LISTENING 5874 1573/mongod /tmp/mongodb-27017.sock
可以看到,已啟動成功,現在使用mongo客戶端訪問一下該資料庫。
[root@localhost bin]# cd /usr/local/mongodb/bin/
[root@localhost bin]# ./mongo
MongoDB shell version: 1.8.1
connecting to: test
>
到這一步說明已經安裝成功了。
5. 額外工作。
注意,上述我們啟動MongoDB都是手動使用mongod來啟動,這樣關閉計算機後,下次再進來它又沒啟動了,所以還得手動啟動,因此,為避免這種繁瑣的工作,可以把mongod放到服務自啟動項中,這樣計算機一開啟mongod服務也就啟動了。
編輯/etc/rc.local,加入下述代碼然後再保存即可。
#add mongonDB service
rm -rf /data/mongodb_data/* && /usr/local/mongodb/bin/mongod --dbpath=/data/mongodb_data/ --logpath=/data/mongodb_log/mongodb.log --logappend&
我們重啟計算機再看MongoDB是否啟動,重啟後可以直接使用 mongo命令登錄,最終發現是可以成功的。
另外,我們使用mongo命令登錄 MongoDB還要轉到mongo命令所在目錄再執行./mongo,這樣是不是有些麻煩?因此,我們可以簡化這點,將該命令文件到/usr/bin下,這樣就可以在任何目錄下使用mongo命令了。
[root@localhost bin]# ls
bsonmp dbbak mongo mongod mongomp mongoexport mongofiles mongoimport mongorestore mongos mongosniff mongostat
[root@localhost bin]# cp mongo /usr/bin/
轉到任一目錄試下mongo命令:
[root@localhost bin]# cd /
[root@localhost /]# mongo
MongoDB shell version: 1.8.1
connecting to: test
>
可以看到登錄成功了,說明我們可以像使用ls命令一樣使用mongo命令了。
❾ 如何連接linux下的mongodb
方法/步驟
想在shell中連接資料庫,首先要在連接數據的機器上安裝mongodb的客戶端才可以。客戶端的安裝在這里不再重復,自己網路或者google一下吧。連接mongodb的命令如下:
/home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888
這個是我的資料庫配置,沒有設置用戶名密碼。所以直接通過該命令就可以連接。
連結後會有一個默認連接的資料庫。
mongodb常用命令:
查看資料庫命令:
show dbs;
查看集合命令:
show collections;
切換資料庫:
use databaseName;
查詢數據:
db.集合名.find()
插入數據:
db.集合名.insert({name:'test',age:1});
刪除:
db.test.remove();
如果我想通過shell腳本實現一個日誌分析並入庫的操作怎麼辦呢?簡單,如下操作就可以:
sql="db.test.insert({name:'test',age:1});"//定義執行的sqlecho "$sql"|/home/test/mongodb/mongodb-2.2.3/bin/mongo 127.0.0.1:8888/test --shell
注意,echo命令中的格式必須這樣寫,管線命令後面的是是資料庫安裝地址 然後是ip:埠號,斜線後是資料庫名稱,--shell表示通過shell交互
❿ 如何在linux操作mongodb
首先到下面的工具原料中的mongodb的官...
1
解壓對應的安裝包 命令如下: ...
2
因為mongodb不需要像別的資料庫那樣繁...
3
然後為mongodb創建資料庫存放的位置和...
4
進到mongodb下面的bin目錄下查看mongod...
5
啟動mongodb資料庫,對應的參數說明用綠...
6
為了安全期間建議關閉28017埠防止信...
7
做好上面的操作就可以進入mongodb的客..