mongodb安裝配置以及其他基礎操作

來源:互聯網
上載者:User

標籤:mongodb

最近公司有個項目要用mongodb,之前沒搞過,今天臨時磨刀上陣,花了半天時間研究,中間有遇到幾個坑寫出來分享給大家。


tar -zxf mongodb-linux-x86_64-v3.6.3.tgz

cp -pr mongodb-linux-x86_64-v3.6.3 /usr/local/mongodb

mkdir -p /data/mongodb/logs

touch /data/mongodb/logs/mongodb.log


vi /data/mongodb/bin/mongodb.conf

dbpath=/data/mongodb/data

logpath=/data/mongodb/logs/mongodb.log

port=27017

fork=true

auth=true

logappend=true

nojournal=true

nohttpinterface=true


/usr/local/mongodb/bin/mongod --bind_ip 172.31.31.63 -f /usr/local/mongodb/conf/mongodb.conf

echo "export PATH=/usr/local/mongodb/bin:$PATH" >> /etc/profile

source /etc/profile


串連到mongodb:

mongo 172.31.31.63:27017


show dbs        //查看資料庫

use admin        //切換到admin庫,若admin庫不存在則會建立admin

show users        //查看使用者

db.createUser({user:"admin",pwd:"123456",roles:["root"]});    //建立超級管理使用者

db.createUser({user:"USRADM",pwd:"123456",roles:[ "userAdminAnyDatabase"]});  //建立使用者管理員賬戶

db.changeUserPassword('admin','147258');//修改密碼

db.dropUser('admin')    //刪除使用者

db.auth("admin","147258");    //admin登入認證

db.auth("USRADM","123456");     //USRADM登入認證


#############################################################################################

內建角色

1、資料庫使用者角色

read:允許使用者讀取指定資料庫

readWrite:允許使用者讀寫指定資料庫


2、資料庫管理員角色

dbAdmin:允許使用者進行索引建立、刪除,查看統計或訪問system.profile,但沒有角色和使用者管理的許可權

userAdmin:提供了在當前資料庫中建立和修改角色和使用者的能力

dbOwner: 提供對資料庫執行任何管理操作的能力。這個角色群組合了readWrite、dbAdmin和userAdmin角色授予的特權


3、叢集管理角色

clusterAdmin : 提供最強大的叢集管理訪問。組合clusterManager、clusterMonitor和hostManager角色的能力。還提供了dropDatabase操作

clusterManager : 在叢集上提供管理和監視操作。可以訪問配置和本機資料庫,這些資料庫分別用於分區和複製

clusterMonitor : 提供對監控工具的唯讀訪問,例如MongoDB雲管理器和Ops管理器監控代理

hostManager : 提供監視和管理伺服器的能力。


4、備份恢複角色

backup : 提供備份資料所需的能力,使用MongoDB雲管理器備份代理、Ops管理器備份代理或使用mongodump

restore : 提供使用mongorestore恢複資料所需的能力


5、所有資料庫角色

readAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀許可權 

readWriteAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀寫權限 

userAdminAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的userAdmin許可權 

dbAdminAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的dbAdmin許可權


6、超級使用者角色

root:提供對readWriteAnyDatabase、dbAdminAnyDatabase、userAdminAnyDatabase、clusterAdmin、restore和backup的所有資源的訪問


7、內部角色

__system : 提供對資料庫中任何對象的任何操作的特權

#############################################################################################


//建立使用者BackupUser,並賦予備份恢複角色

db.createUser({user: "BackupUser",pwd: "123456",roles: [ 

{ role: 'backup', db: 'admin' },

{ role: 'restore', db: 'admin' }

]}); 


use students    //建立資料庫

db.createUser({user: "user1",pwd: "user123456",roles: [ { role: "readWrite", db: "students" } ]});  //建立students庫讀寫權限使用者


db.auth("user1","user123456");    

db.clas.insert({"name":"wang"});    //向clas集合(表)插入3條資料

db.clas.insert({"name":"zhang"});

db.clas.insert({"name":"li"});

db.clas.remove({});    //刪除clas集合裡面所有資料記錄

db.clas.find();            //查詢clas集合裡面所有資料記錄

db.clas.drop();           //刪除clas集合(表)

show collections;      //查看集合(表)

db.dropDatabase();  //刪除資料庫


匯出students庫的資料:

mongodump -h 172.31.31.63:27017 --authenticationDatabase admin -d students -u BackupUser -p -o /root/test/

-h 主機IP:連接埠

-d  要備份的庫

-u  具有backup角色的使用者

-p  備份使用者的密碼

-o  備份目錄路徑

--authenticationDatabase 備份使用者BackupUser所屬的資料庫



匯入students庫的資料:

mongorestore -h 172.31.31.63:27017 --authenticationDatabase admin -d students -u BackupUser -p --directoryperdb /root/test/students

-h  主機IP:連接埠

-d  恢複的目標庫

-u  具有restore角色的使用者

-p  恢複使用者的密碼

--directoryperdb  恢複目錄路徑

--authenticationDatabase 恢複使用者BackupUser所屬的資料庫


需要注意的坑:

1.認證問題,比如上面我有一個admin使用者,只有use admin切換到admin庫下面才能認證成功。

2.比如我上面已經建立了一個USRADM使用者並賦予了相應的角色,當前這個角色它具有賦予使用者所有資料庫的userAdmin許可權。現在我想為students庫建立一個使用者且分配置userAdmin角色。此時若我在admin庫下面執行則會失敗,必須切換到students庫下面操作才能成功。

3.備份恢複角色的使用者只能在admin庫下建立,建立完後可以執行備份恢複其他所有庫。


!!!切記執行任何庫的操作時都必須先切換到對應的庫下面


mongodb安裝配置以及其他基礎操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.