mongodb安裝及配置

下載安裝篇html

MongoDB 提供了 linux 各發行版本 64 位的安裝包,你能夠在官網下載安裝包。java

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

 

 

首先:任意目錄下 下載mongodbgit

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.10.tgz # 下載mongodb

tar -zxvf mongodb-linux-x86_64-rhel62-3.4.10.tgz # 解壓數據庫

其次: 創建mongodb的文件(我這裏選擇在/usr/local/下創建)安全

1) :  cd /usr/local  服務器

2) :  mkdir mongodbapp

3) :  cd mongodb yii

4):  mkdir data

5) :  cd data

6) :  mkdir db

7) : cd ./..

8):  mkdir log 

9) :  cd log

10):  touch logs

11):  cd /usr/local/mongodb

12):  mkdir mongodb-config

13): cd mongodb-config

14):  touch server.conf

以上在/usr/local 建立好mongodb的文件夾,結構爲:

/usr/local/

--mongodb

  --data

    ---db : 存放數據文件

  --log

    --logs : 存放日誌文件

 --mongodb-config

   --server.conf 存放mongodb配置

最後:將解壓包移動到指定目錄

mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb # 將解壓包拷貝到指定目錄

 

設置防火強

1):  cd /

2):   /sbin/iptables -I INPUT -p tcp --dport 27017 -j ACCEPT

3):   /etc/rc.d/init.d/iptables save

4):   /etc/init.d/iptables restart

5):   /etc/init.d/iptables status

開啓mongodb服務

這裏有兩種啓動方式

a: 直接敲命令

1):  cd /usr/local/mongodb/bin

2):  ./mongod -dbpath=/usr/local/mongodb/data/db -logpath=/usr/local/mongodb/log/logs --fork

 

b: 配置文件的方式啓動

1):  cd/usr/local/mongodb

2):
  [root@gitlab mongodb]# vi mongodb-config/server.conf
       logpath=/usr/local/mongodb/log/logs
       logappend=true
       dbpath=/usr/local/mongodb/data/db
       fork=true
       bind_ip=0.0.0.0
       port=27017

      參數解釋: --dbpath 數據庫路徑(數據文件)

--logpath 日誌文件路徑
--master 指定爲主機器
--slave 指定爲從機器
--source 指定主機器的IP地址
--pologSize 指定日誌文件大小不超過64M.由於resync是很是操做量大且耗時,最好經過設置一個足夠大的oplogSize來避免resync(默認的 oplog大小是空閒磁盤大小的5%)。
--logappend 日誌文件末尾添加
--port 啓用端口號
--fork 在後臺運行
--only 指定只複製哪個數據庫
--slavedelay 指從複製檢測的時間間隔
--auth 是否須要驗證權限登陸(用戶名和密碼)

3):  ./bin/mongod -f  mongodb-config/server.conf

注意 bind_ip=0.0.0.0 這項設置是爲 本地鏈接遠程 作準備

     fork參數指定後臺運行方式,關閉窗口mongodb服務不中止,false或不寫該參數則爲窗口模式,必須打開保持窗口打開狀態才行。

再經過本地窗口連接

MongoDB默認設置爲無權限訪問限制,上面咱們也沒有進行特殊的認證配置,因此能夠直接連接

經過命令 :  mongo IP地址:端口,便可遠程登陸服務器了(能夠配置mongo的bin目錄的環境變量,方便調用客戶端程序)

 

至此,mongodb服務器已經安裝配置完畢,並實現了遠程訪問。

 

帳號權限設置篇

實戰應用中,咱們通常都會指定MongoDB的帳戶和權限,提供安全性。

首先,先創建帳號 受權

1. 輸入命令:show dbs,你會發現它內置有兩個數據庫,一個名爲admin,一個名爲local。

2. 輸入命令:use admin,你會發現該DB下包含了一個system.user表,呵呵,沒錯,這個表就等同於MsSql中的用戶表,用來存放超級管理員的,那咱們就往它裏面添加一個超級管理員試試看

3.輸入命令:db.createUser({user:"admin",pwd:"123456",roles:[{"role":"userAdminAnyDatabase","db":"admin"}]})

4. 輸入命令:show collections,查看該庫下全部的表,你會發現,MongoDB並無提示你輸入用戶名、密碼,那就奇怪了,這是怎麼回事呢?在文章最開始提到了,

MongoDB默認設置爲無權限訪問限制,即然這樣,那咱們就先把它設置成爲須要權限訪問限制。

5.修改咱們前面配置的mongdb配置文件mongodb.conf

       [root@gitlab mongodb]# vi mongodb-config/server.conf
       logpath=/usr/local/mongodb/log/logs
       logappend=true
       dbpath=/usr/local/mongodb/data/db
       fork=true
       bind_ip=0.0.0.0
       port=27017
       auth=true  #添加這句即爲開通帳號認證
6.經過命令 ps -ef|grep mongo 查看mongo的進程號,而後kill  9472 ,

重啓mongod服務,命令: ./bin/mongod -f  mongodb-config/server.conf

 

7. 遠程鏈接mongo服務器,

   切換到admin數據庫: use admin

   而後輸入命令:db.auth('admin','123456'),輸出一個結果值爲1,說明這個用戶匹配上了,若是用戶名、密碼不對,會輸入0

8. 輸入命令:show collections,呵呵,結果出來了,到這裏,權限設置還只講到一多半,接着往下講

9. use mybook 切換到mybook數據庫,接下來爲該數據庫創建帳號

db.createUser({user:'test', pwd:'123456',roles:[{role:'readWrite', db:'mybook'}]})

10. 輸入ctrl+c,退出以前的帳號admin

11.輸入命令:db.auth('test','123456'),輸出結果1,用戶存在,驗證成功

12)遠程直接訪問對應的數據庫方式,mongo 192.168.220.128:27017/mybook -u test -p 123456,以下圖

固然,也能夠先鏈接到mongo服務器,再切換數據庫,最後經過db.auth('用戶名',‘密碼’) 的方式鏈接到對應的數據庫,以下圖

 

至此,帳號分配已經所有完成。

 經常使用命令篇

若數據庫出現如不能連上,則是一個data目錄下的mongod.lock文件的問題,能夠用以下的修復的命令,
mongod --repair

show users 顯示用戶

db 顯示當前數據庫

db.system.users.find()  顯示全部用戶

db.auth('username','password') 用戶登陸

java 調用篇

http://www.runoob.com/mongodb/mongodb-java.html

http://www.yiibai.com/mongodb/mongodb_java.html

參考

http://blog.csdn.net/qq_26677157/article/details/60960333

http://www.cnblogs.com/zengen/archive/2011/04/23/2025722.html

http://www.cnblogs.com/PheonixHkbxoic/p/5665499.html

相關文章
相關標籤/搜索