㈠ 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後怎麼使用
首先到下面的工具原料中的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配置環境變數怎麼配
如果是普通用戶,在用戶根目錄下 /home/XXX/.bashrc裡面配置PATH 然後 source /home/XXX/.bashrc 就可以 如果是root 直接在/root/.bashrc和/etc/profile裡面配置PATH就ok
㈣ 在Linux系統上裝有一個MongoDB資料庫,如何配置成Linux系統上的為主,Windows系統上的MongoDB為從資料庫
在啟動Linux上的mongodb時使用master參數,在windows上啟動時使用slave參數試試。
不過官方文檔推薦2.4以後都使用replica set,不要再使用主從復制了。
使用replica set需要3個以上的節點,可以設置兩個或以上的數據節點,多個選舉節點,節點數要是基數個,哪個節點時primary由系統自己決定就好。
沒有試過在Linux和windows上同時打開mongodb。
開啟mongodb的參數可以參考這里:
http://docs.mongodb.org/manual/reference/configuration-options/
主從復制信息參考這里:
http://docs.mongodb.org/manual/core/master-slave/
㈤ 如何在arch linux系統中安裝MongoDB
由於工作需要在本地安裝mongodb用作調試,在安裝過程中遇到了問題,記錄一下。
首先看看安裝成功的mongodb吧:
我的系統是Manjaro,基於archlinux的系統。由於MongoDB修改了軟體授權協議,所以在archlinux的官方源中已經刪除了MongoDB,在archlinux的wiki中建議安裝AUR中的mongodb-bin,或者自己編譯(需要180G的空餘的磁碟空間)。腦闊疼,我沒有配置AUR的源,自己編譯的話,我這老爺機誰知道要編譯多久,所以最後我選擇了使用 MongoDB官網 提供的軟體包。
下面是安裝過程:
當然也可以選擇配置AUR源來安裝,但是我懶得配置,而且自己一般也不會用到AUR,所以就只介紹這一種方法了。
啟動的話可以選擇使用下面的命令來後台執行
本文最先發布於: SavingUnhappy
㈥ linux怎麼修改mongodb的配置文件
以下是用mongo的shell打開資料庫:#創建一個庫:
use mytest
#添加一個用戶account,pwd
db.addUser("wangming","1234")
#查看當前庫中的用戶
db.system.users.find()
#連接時候通過auth命令進行連接(account,pwd)
db.auth("wangming","1234")
如果是用pymongo連接mongo,如下
#連接mongodb服務
con = MongoClient(host,port)
#選擇資料庫
db = con[dbname]
#用用戶名登陸
db.authenticate(account, pwd)
㈦ Linux安裝MongoDB雙機熱備份(主從復制)
主從復製作用:數據備份、讀寫分離
雙機熱備份:部署兩個節點的MongoDB服務,配置一主一從,主節點添加數據,將自動備份到從節點上面,保證主機宕機後數據不丟失,同時可以繼續提供數據讀取服務(主服務掛掉,從服務將無法在進行寫入數據,只能提供數據讀取服務)
一主多從:部署多個節點的MongoDB服務,配置一主多從,數據也會自動備份到所有從節點上面,保證主機宕機後數據不丟失,同時可以根據從節點的優先順序進行選取新的主節點,繼續提供讀寫服務(主從關系跟服務設置的優先順序有直接關系 優先順序參數:priority 數字越大優先順序越高)
使用上面的方式,在不同伺服器上安裝並啟動MongoDB服務
將啟動時使用的配置文件mongodb.conf中添加下面的副文本集名稱配置,將許可權控制參數改為false(auth=false),然後將服務進行重新啟動即可(testrs是自定義的副本集名稱)
#使用此設置來配置復制副本集。指定一個副本集名稱作為參數,所有主機都必須有相同的名稱作為同一個副本集
replSet=testrs
然後啟動每個服務的客戶端查看當前節點為主節點還是從節點;
1). 如果服務部署在不同伺服器上,直接啟動/bin目錄下的mongo即可 命令:./ mongo
2). 如果服務部署在同一台伺服器上,使用不同埠及配置文件進行啟動的,啟動客戶端使用該命令 命令:./mongo 127.0.0.1:27018/
經過上面的一系列操作後,主從配置就完成了,接下來可以進行數據同步測試
第一步:在主庫上面切換到admin,然後進行添加數據(命令:db.testdb1.insert([{"name":"zs"}]))
在從庫上查詢該數據(命令:db.testdb1.find({name:"zs"})),會出現下面如圖的錯誤,因為從庫沒有查詢數據許可權,所以需要設置查詢許可權
設置從庫查詢許可權,使用命令:rs.secondaryOk()
然後在使用查詢命令進行查詢(命令:db.testdb1.find({name:"zs"}))就會看到如下圖的查詢結果:
如上圖所示,數據已經同步到從庫上面了,這樣雙機熱備份就已經實現了,上面的情況不包含許可權控制
上面的情況已經完成了MongoDB的主從復制功能,但是我們把許可權沒有開放,啟動時使用的配置中auth配置的值為false,說明沒有添加許可權,接下來就開放一下許可權配置;
首先需要主從之間通信的一個keyFile文件,根據官網提供的說明,這個keyfile是可以任意內容的,只要保證所有集群中的機器都擁有同樣的文件即可。
我這里將keyFile文件放到了MongoDB的bin目錄下了,使用openssl rand -base64 1024 > /usr/local/mongodb-master/bin/mongodb.key 命令生成;
然後將mongodb.key文件復制到每台從服務上面,在每台服務的啟動文件上添加 keyFile=/usr/local/mongodb-master/keyfile/mongodb.key 配置項 ,然後將auth屬性值改為true,這樣就完成了許可權配置
重啟主從兩個節點,這樣主機添加的數據,就會同步到從機上面了!!!
添加或刪除從節點參考文章:
https://blog.csdn.net/weixin_44839444/article/details/105666163
㈧ mongodb在linux怎麼配置自動啟動
按照常理,把如下命令
/usr/local/mongodb/bin/mongod --dbpath=/data/db/ --fork --logpath=/data/log/m.log --directoryperdb
放在/etc/rc.local文件中就可以實現開機自啟動了,第一次重啟機器發現mongodb順利啟動了,再次重啟機器後,通過ps沒有查看到相應mongod進程,也就是啟動失敗了。原因是由於重啟機器,導致非正常停止mongod服務,mongod.lock中還記錄了上次運行的進程號,為了數據的安全需要執行
/usr/local/mongodb/bin/mongod –repair,
當然如果直接把mongod.lock文件刪除也可以重新啟動了,例如:
/usr/local/mongodb/bin/mongod --repair
/usr/local/mongodb/bin/mongod --dbpath=/data/db/ --fork --logpath=/data/log/m.log --directoryperdb
或
rm -rf /data/db/mongod.lock
/usr/local/mongodb/bin/mongod --dbpath=/data/db/ --fork --logpath=/data/log/m.log --directoryperdb
注意上述啟動Mongodb都是沒有增加journal參數,如果帶了此參數就不會那麼麻煩了,例如
/usr/local/mongodb/bin/mongod --dbpath=/data/db/ --fork --logpath=/data/log/m.log --directoryperdb --journal就可以了,就算是非正常重啟機器,mongodb也會根據日誌去修復資料庫的。
另外,如果mongodb的數據目錄是通過mount的NFS文件夾,自啟動好像有問題的。