溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MongoDB3.0的安裝和部署

發(fā)布時間:2020-06-12 11:36:44 來源:億速云 閱讀:156 作者:Leah 欄目:系統(tǒng)運維

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

下載二進(jìn)制包:
#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)建數(shù)據(jù)存放路徑、日志存放路徑、程序路徑
#mkdir /data/mongodata -p
#mkdir /data/log/mongolog -p
#mkdir /data/mongo -p  
將當(dāng)前所有文件復(fù)制
#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
#數(shù)據(jù)文件存放目錄
dbpath = /data/mongodata
#日志文件存放目錄
logpath = /data/log/mongolog/mongodb.log
#端口
port = 27017
#以守護程序的方式啟用,即在后臺運行
fork = true  
nohttpinterface = true
確定服務(wù)
#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
文件限制數(shù)調(diào)整
#vim /etc/security/limits.conf

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

    use admin
    switched to db admin
    db.shutdownServer();
    配置啟動服務(wù)
    #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
進(jìn)入查看數(shù)據(jù)庫,只有一個local庫,admin庫是不存在的

show dbs
local  0.078GB
show tables;
新建賬號具有g(shù)rant權(quán)限,即:賬號管理的授權(quán)權(quán)限
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:指定用戶的角色,可以用一個空數(shù)組給新用戶設(shè)定空角色;在roles字段,可以指定內(nèi)置角色和用戶定義的角色。role里的角色可以選:
Built-In Roles(內(nèi)置角色):

  1. 數(shù)據(jù)庫用戶角色:read、readWrite;
  2. 數(shù)據(jù)庫管理角色:dbAdmin、dbOwner、userAdmin;
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  4. 備份恢復(fù)角色:backup、restore;
  5. 所有數(shù)據(jù)庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超級用戶角色:root  
    // 這里還有幾個角色間接或直接提供了系統(tǒng)超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 內(nèi)部角色:__system
    具體角色:
    Read:允許用戶讀取指定數(shù)據(jù)庫
    readWrite:允許用戶讀寫指定數(shù)據(jù)庫
    dbAdmin:允許用戶在指定數(shù)據(jù)庫中執(zhí)行管理函數(shù),如索引創(chuàng)建、刪除,查看統(tǒng)計或訪問system.profile
    userAdmin:允許用戶向system.users集合寫入,可以找指定數(shù)據(jù)庫里創(chuàng)建、刪除和管理用戶
    clusterAdmin:只在admin數(shù)據(jù)庫中可用,賦予用戶所有分片和復(fù)制集相關(guān)函數(shù)的管理權(quán)限。
    readAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的讀權(quán)限
    readWriteAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的讀寫權(quán)限
    userAdminAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的userAdmin權(quán)限
    dbAdminAnyDatabase:只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的dbAdmin權(quán)限。
    root:只在admin數(shù)據(jù)庫中可用。超級賬號,超級權(quán)限

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

show dbs   //查詢所有的數(shù)據(jù)庫
admin  0.078GB
cmz    0.078GB
local  0.078GB
show collections //查詢所有的集合(表)等同于show tables
創(chuàng)建數(shù)據(jù)庫或切換到數(shù)據(jù)庫(存在就切換,不存在就創(chuàng)建)
use cmz
switched to db cmz
創(chuàng)建集合,刪除集合(一般可以不用創(chuàng)造集合,在插入數(shù)據(jù)時自動可以創(chuàng)建集合):
db.createCollection('col')   //創(chuàng)建集合
{ "ok" : 1 }
show collections
col
db.col.drop()  //刪除集合
true
5、備份
-h     指明數(shù)據(jù)庫宿主機的IP
--port 指明數(shù)據(jù)庫的端口
-u     指明數(shù)據(jù)庫的用戶名
-p     指明數(shù)據(jù)庫的密碼
-d     指明數(shù)據(jù)庫的名字
-c     指明collection的名字
-o     指明到要導(dǎo)出的文件名
-q     指明導(dǎo)出數(shù)據(jù)的過濾條件
--authenticationDatabase  驗證數(shù)據(jù)的名稱
--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"
}
]
}

看完這篇文章,你們學(xué)會MongoDB3.0的安裝和部署方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI