MongoDB學(xué)習(xí)基礎(chǔ)篇一

一誓军、安裝配置

Linux平臺安裝MongoDB

MongoDB 提供了 linux 各發(fā)行版本 64 位的安裝包芳杏,你可以在官網(wǎng)下載安裝包瘦穆。
下載地址

下載完安裝包栓撞,并解壓 tgz(以下演示的是 64 位 Linux上的安裝)遍膜。

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz    # 下載
tar -zxvf mongodb-linux-x86_64-3.4.2.tgz                                   # 解壓
mv  mongodb-linux-x86_64-3.4.2/ /usr/local/mongodb                         # 將解壓包拷貝到指定目錄

macOS 平臺安裝MongoDB

MongoDB 提供了 OSX 平臺上 64 位的安裝包,你可以在官網(wǎng)下載安裝包瓤湘。
下載地址

接下來我們使用 curl 命令來下載安裝:

cd /usr/local                                                             # 進(jìn)入
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.2.tgz  # 下載
sudo tar -zxvf mongodb-osx-x86_64-3.4.2.tgz                               # 解壓
sudo mv mongodb-osx-x86_64-3.4.2 mongod                                   # 重命名 

配置文件

配置文件路徑/etc/mongod.conf

--auth = ture 開啟auth權(quán)限【設(shè)置用戶權(quán)限重要配置】

--dbpath: 指定數(shù)據(jù)目錄瓢颅,必選,不配置會啟動報錯弛说;

--port: 指定服務(wù)監(jiān)聽的端口挽懦,默認(rèn)為27017

--logpath:指定日志路徑;

--logappend:指定日志是追加模式木人,或者每次重啟MongoDB后清理日志信柿;默認(rèn)是追加模式冀偶;

--fork:用此選項創(chuàng)建子進(jìn)程,在后臺運行MongoDB;此選項必先開啟logpath選項渔嚷;

--bind_ip: 指定監(jiān)聽的接口进鸠;默認(rèn)是127.0.0.1;

--httpinterface: 設(shè)定是否在1000的端口啟動一個微型的HTTP服務(wù)器形病;默認(rèn)不開啟客年;

--nounixsocket: 設(shè)置是否使用UNIX socket;

--noscripting: 設(shè)置是否完全禁止服務(wù)器端JavaScript腳本的運行;

二漠吻、環(huán)境變量

在 .bashrc, or .bash_profile等文件里面配置

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

之后可以全局使用

mongod
mongo

否則量瓜,必須這樣

/usr/local/mongodb/bin/mongod
or
/usr/local/mongodb/bin$ ./mongod 

三、啟動和關(guān)閉

先設(shè)置好配置文件/etc/mongod.conf后途乃,每次手動用命令啟動

mongod -f /etc/mongod.conf

設(shè)置開機啟動

echo “mongod -f /etc/mongod.conf” >>/etc/rc.d/rc.local

另外可以用mongod命令來啟動MongoDB,因為mongod每次啟動需要帶參數(shù)绍傲,不然會造成錯誤,不建議用欺劳;

service mongod start 或者 chkconfig mongod on

強制關(guān)閉MongoDB(不建議使用)唧取;

service mongod stop

或者,從MongoDB的admin中關(guān)閉(推薦用這種方法):

> use admin   
switched to db admin    
> db.shutdownServer()    
server should be down...

或者

mongod --shutdown

使用shutdownServer關(guān)閉MongoDB划提,如有MongoDB主從服務(wù)器枫弟,則在服務(wù)關(guān)閉前同步主從服務(wù)器;強制關(guān)閉則不會鹏往;

四淡诗、用戶權(quán)限設(shè)置

掌握權(quán)限,理解下面基本內(nèi)容

  1. MongoDB是沒有默認(rèn)管理員賬號伊履,所以要先添加管理員賬號韩容,再開啟權(quán)限認(rèn)證。
  2. 切換到admin數(shù)據(jù)庫唐瀑,添加的賬號才是管理員賬號群凶。
  3. 用戶只能在用戶所在數(shù)據(jù)庫登錄,包括管理員賬號哄辣。
  4. 管理員可以管理所有數(shù)據(jù)庫请梢,但是不能直接管理其他數(shù)據(jù)庫,要先在admin數(shù)據(jù)庫認(rèn)證后才可以力穗。

添加管理員賬號

# mongo --host=127.0.0.1 --port=27017
MongoDB shell version: 3.2.7
connecting to: 127.0.0.1:27017/test
> use admin 
> show collections
> db.createUser(
   {
     user: "admin",
     pwd: "mongodb:passok",
     roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
   }
)
Successfully added user: {
    "user" : "admin",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}
> db.shutdownServer()

開啟權(quán)限驗證

# echo 'auth = true' >> /etc/mongod.conf
# mongod -f /etc/mongod.conf

驗證權(quán)限是否生效

# mongo
MongoDB shell version: 3.2.7
connecting to: test
> use admin
switched to db admin
> db.auth('admin', 'mongodb:passok')
1
> show dbs

添加普通用戶

> use mydb
switched to db mydb
> db.createUser(
   {
     user: "tonny",
     pwd: "tonny@passok",
     roles: [ { role: "readWrite", db: "mydb" } ]
   }
)
Successfully added user: {
    "user" : "tonny",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "mydb"
        }
    ]
}
> exit
bye
[root@snails ~]# mongo
MongoDB shell version: 3.2.7
connecting to: test
> use mydb
switched to db mydb
> db.auth('tonny','tonny@passok')
1

MongoDB數(shù)據(jù)庫角色

角色說明:

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)限

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末财异,一起剝皮案震驚了整個濱河市倘零,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌戳寸,老刑警劉巖呈驶,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異疫鹊,居然都是意外死亡袖瞻,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進(jìn)店門拆吆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來聋迎,“玉大人,你說我怎么就攤上這事枣耀∶乖危” “怎么了?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵捞奕,是天一觀的道長牺堰。 經(jīng)常有香客問我,道長颅围,這世上最難降的妖魔是什么伟葫? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮院促,結(jié)果婚禮上筏养,老公的妹妹穿的比我還像新娘。我一直安慰自己一疯,他們只是感情好撼玄,可當(dāng)我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著墩邀,像睡著了一般掌猛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天荔茬,我揣著相機與錄音废膘,去河邊找鬼。 笑死慕蔚,一個胖子當(dāng)著我的面吹牛丐黄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播孔飒,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼灌闺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了坏瞄?” 一聲冷哼從身側(cè)響起桂对,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸠匀,沒想到半個月后蕉斜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡缀棍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年宅此,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片爬范。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡父腕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坦敌,到底是詐尸還是另有隱情侣诵,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布狱窘,位于F島的核電站杜顺,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蘸炸。R本人自食惡果不足惜躬络,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望搭儒。 院中可真熱鬧穷当,春花似錦、人聲如沸淹禾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铃岔。三九已至汪疮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背智嚷。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工卖丸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盏道。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓稍浆,卻偏偏與公主長得像,于是被迫代替她去往敵國和親猜嘱。 傳聞我的和親對象是個殘疾皇子衅枫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容