MongoDB3.0的安裝和部署

這篇文章給大家分享的是MongoDB3.0的安裝和部署的詳細教程,相信大部分人都還不知道怎么部署,為了讓大家學會,故而給大家總結了以下內容。

10年積累的成都做網站、成都網站制作、成都外貿網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站策劃后付款的網站建設流程,更有錦屏免費網站建設讓你可以放心的選擇與我們合作。

下載二進制包:
#wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.15.tgz
#tar xf mongodb-linux-x86_64-3.0.15.tgz
#cd mongodb-linux-x86_64-3.0.15
創(chuàng)建數據存放路徑、日志存放路徑、程序路徑
#mkdir /data/mongodata -p
#mkdir /data/log/mongolog -p
#mkdir /data/mongo -p  
將當前所有文件復制
#cp -r * /data/mongo
配置環(huán)境變量
#more /etc/profile.d/mongodb.sh  
export PATH=$PATH:/data/mongo/bin
#source /etc/profile.d/mongodb.sh
配置mongodb配置文件
#cd /data/mongo/bin/
#vim mongodb.conf
#數據文件存放目錄
dbpath = /data/mongodata
#日志文件存放目錄
logpath = /data/log/mongolog/mongodb.log
#端口
port = 27017
#以守護程序的方式啟用,即在后臺運行
fork = true  
nohttpinterface = true
確定服務
#mongod --dbpath=/data/mongodata --logpath=/data/log/mongolog/mongodb.log --logappend --fork
通過配置文件啟動
#mongod -f /root/mongodb/bin/mongodb.conf
測試
#mongo
MongoDB shell version: 3.0.15
connecting to: test

show dbs
local  0.078GB
quit()
WARNING: Readahead for /data/mongodata is set to 4096KB
WARNING: You are running this process as the root user, which is not recommended.
WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
We suggest setting it to 'never'
WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
We suggest setting it to 'never'
WARNING: soft rlimits too low. rlimits set to 3802 processes, 65536 files. Number of processes should be at least 32768 : 0.5 times number of files.
啟動有警告,去掉

#vim /etc/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
ulimit -u 65535
#echo never > /sys/kernel/mm/transparent_hugepage/enabled
#echo never > /sys/kernel/mm/transparent_hugepage/defrag
#runlevel
#chmod +x /etc/rc.local
文件限制數調整
#vim /etc/security/limits.conf

  • soft nproc 32000
  • hard nproc 32000
    重啟:
    mongo

    use admin
    switched to db admin
    db.shutdownServer();
    配置啟動服務
    #vim /usr/lib/systemd/system/systemd-mongodb.service
    [Unit]
    Description=mongodb
    After=network.target

[Service]
Type=forking
PIDFile=/data/mongodata/mongod.lock
ExecStart=/data/mongo/bin/mongod -f /data/mongo/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
開啟機器
#systemctl enable systemd-mongodb
進入查看數據庫,只有一個local庫,admin庫是不存在的

show dbs
local  0.078GB
show tables;
新建賬號具有grant權限,即:賬號管理的授權權限
use admin
switched to db admin
db.createUser(
... {
... user:"dba",
... pwd: "dba",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... }
... )
Successfully added user: {
"user" : "dba",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
show dbs;
admin  0.078GB
local  0.078GB
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  
    // 這里還有幾個角色間接或直接提供了系統(tǒng)超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 內部角色:__system
    具體角色:
    Read:允許用戶讀取指定數據庫
    readWrite:允許用戶讀寫指定數據庫
    dbAdmin:允許用戶在指定數據庫中執(zhí)行管理函數,如索引創(chuàng)建、刪除,查看統(tǒng)計或訪問system.profile
    userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫里創(chuàng)建、刪除和管理用戶
    clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和復制集相關函數的管理權限。
    readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限
    readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限
    userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限
    dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。
    root:只在admin數據庫中可用。超級賬號,超級權限

Mongodb中 數據庫和集合的創(chuàng)建與刪除
插數據

show dbs   //查詢所有的數據庫
admin  0.078GB
cmz    0.078GB
local  0.078GB
show collections //查詢所有的集合(表)等同于show tables
創(chuàng)建數據庫或切換到數據庫(存在就切換,不存在就創(chuàng)建)
use cmz
switched to db cmz
創(chuàng)建集合,刪除集合(一般可以不用創(chuàng)造集合,在插入數據時自動可以創(chuàng)建集合):
db.createCollection('col')   //創(chuàng)建集合
{ "ok" : 1 }
show collections
col
db.col.drop()  //刪除集合
true
5、備份
-h     指明數據庫宿主機的IP
--port 指明數據庫的端口
-u     指明數據庫的用戶名
-p     指明數據庫的密碼
-d     指明數據庫的名字
-c     指明collection的名字
-o     指明到要導出的文件名
-q     指明導出數據的過濾條件
--authenticationDatabase  驗證數據的名稱
--gzip 備份時壓縮
--oplog use oplog for taking a point-in-time snapshot
全庫備份
mongodump -h 10.0.0.4 --authenticationDatabase admin -o /mnt/
備份cmz庫
mongodump -h 10.0.0.4 --authenticationDatabase admin -d cmz -o /mnt1/
備份cmz庫的col集合
mongodump -h 10.0.0.4 --authenticationDatabase admin -d cmz -c col -o /mnt2/

創(chuàng)建test庫

use test
switched to db test
db.createUser(
... {
... user: "jrw",
... pwd: "jrw",
...  roles: [
...  { role: "readWrite", db: "test" }
... ]
... }
... )
Successfully added user: {
"user" : "jrw",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
show users;
{
"_id" : "test.jrw",
"user" : "jrw",
"db" : "test",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}

看完這篇文章,你們學會MongoDB3.0的安裝和部署方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。

分享題目:MongoDB3.0的安裝和部署
文章源于:http://bm7419.com/article10/jddpdo.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機網站導航、自適應網站ChatGPT、做網站外貿建站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)