Linux環境下MongoDB 安裝

一、下載並解壓壓縮包
https://www.mongodb.com/download-center?jmp=nav#community 下載最新的壓縮包
mongodb-linux-x86_64-4.0.12.tgz

tar -zxvf mongodb-linux-x86_64-4.0.1.tgz
解壓後子文件放入  /usr/local/mongodb
二、配置系統環境變量:
vim  /etc/profile

export PATH=$PATH:/usr/local/mongodb/bin

:wq 保存退出,source  /etc/profile使修改生效

三、創建數據和日誌的存放文件夾
mkdir -p  /usr/local/mongodb/data/db
mkdir -p /usr/local/mongodb/logs

四、進入/usr/local/mongodb/bin的目錄 創建mongodb.conf配置文件

vim mongodb.conf

寫入
dbpath = /usr/local/mongodb/data/db #數據文件存放目錄
logpath = /usr/local/mongodb/logs/mongodb.log #日誌文件存放目錄
port = 27017 #端口
fork = true#以守護程序的方式啓用,即在後臺運行
#auth=true #需要認證。如果放開註釋,就必須創建MongoDB的賬號,使用賬號與密碼纔可遠程訪問>,第一次安裝建議註釋
bind_ip=0.0.0.0 #允許遠程訪問,或者直接註釋,127.0.0.1是隻允許本地訪問

:wq 保存退出

五、啓動MongoDB服務
mongod : 運行服務端
mongo: 啓動客戶端
帶權限登錄  ./mongo -authenticationDatabase admin -u admin -p 123456
進入/usr/local/mongodb/bin 目錄下 輸入命令 ./mongod  -f  mongodb.conf

至此,MongoDB在Linux上的安裝完畢。
查看端口映射檢查是否啓動成功:netstat -nltp|grep mongod  或者top命令

六、創建管理員

mongo: 啓動客戶端
use admin
添加管理員用戶
db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
db.createUser({
  user : 'admin',
  pwd : '123456',
  roles : [
    'clusterAdmin',
    'dbAdminAnyDatabase',
    'userAdminAnyDatabase',
    'readWriteAnyDatabase'
  ]
})

user:用戶名

pwd:密碼

roles:指定用戶的角色,可以用一個空數組給新用戶設定空角色;在roles字段,可以指定內置角色和用戶定義的角色。role裏的角色可以選:

  Built-In Roles(內置角色):
    1. 數據庫用戶角色:read、readWrite;
    2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集羣管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 備份恢復角色:backup、restore;
    5. 所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    6. 超級用戶角色:root
    // 這裏還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
    7. 內部角色:__system

具體角色:

Read:允許用戶讀取指定數據庫
readWrite:允許用戶讀寫指定數據庫
dbAdmin:允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile
userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫裏創建、刪除和管理用戶
clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和複製集相關函數的管理權限。
readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限
readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限
userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限
dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。
root:只在admin數據庫中可用。超級賬號,超級權限。

剛建立了 userAdminAnyDatabase 角色,用來管理用戶,可以通過這個角色來創建、刪除用戶。

七、開啓auth參數,認證通過後才能訪問數據庫
vim mongodb.conf
#auth=true 去掉#註釋

八、數據庫創建用戶

1、認證管理員(登錄)
db.auth("admin", "123456")
2.切換數據庫
use test
3.創建用戶
db.createUser({user: "root", pwd: "123456", roles: [{ role: "dbOwner", db: "test" }]})

九、導出MongoDB數據
常用命令格式
mongoexport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 -f 字段 -q 條件導出 --csv -o 文件名
 .\mongoexport -h 127.0.0.1:27017 -d vn_db -c statisticsNorth  -o E:\data\dump\statisticsNorth.csv

十、導入MongoDB數據
常用命令格式
恢復整表導出的非csv文件
mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 --upsert --drop 文件名
--upsert:插入或者更新現有數據
恢復部分字段的導出文件
mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 --upsertFields 字段 --drop 文件名
--upsertFields:更新部分的查詢字段,必須爲索引,以逗號分隔.
恢復導出的csv文件
mongoimport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 --type 類型 --headerline --upsert --drop 文件名
--type:導入的文件類型(默認json)

.\mongoimport -h 192.168.1.129:27017  -u ro p 1235 -d vn_db  -c statisticsNorth --upsert --drop E:\data\dump\statisticsNorth.csv

十一、springboot 配置MongoDB,配置賬戶名和密碼登錄驗證

uri方式:#uri:  mongodb://username:password@ip:port/dbname

spring:
  profiles:
    active: dev
  application:
    name: spirng-boot-mongodb
  data:
    mongodb:
      uri:  mongodb://root:[email protected]:27017/vn_db

十二、Unix系統指令停止db.shutdownServer()

MongoDB日常運維操作命令小結:
    https://www.cnblogs.com/kevingrace/p/8184087.html

 

發佈了37 篇原創文章 · 獲贊 12 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章