在CentOS下設置MongoDB開機自啓動並且開啓身份認證

1.我們在CentOS安裝好Mongodb後,在mongodb的安裝路徑的bin目錄下(我的是/usr/local/mongodb/bin)新建一個文件mongo.conf

dbpath = /var/mongodb/data  #數據文件存放目錄,這裏的路徑按自己的路徑填寫,一定不要填錯
logpath =  /var/mongodb/logs/log.log  #日誌文件存放目錄,這裏的路徑按自己的路徑填寫
port = 27017  #端口
fork = true  #以守護程序的方式啓用,即在後臺運行
nohttpinterface = true
auth = false  # 是否開啓校驗用戶,設置爲true後數據庫連接時需要輸入用戶名密碼

然後在 /etc/rc.local 文件中增加一條語句,用於開機自啓mongodb。命令:

打開rc.local,編輯該文件

vi /etc/rc.local

在文件後面換行,加上下列代碼

/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongo.conf

一個是MongoDB的安裝目錄,一個是MongoDB的配置文件(就是剛剛我們配置的)。

然後我們進入mongodb安裝目錄下的bin目錄輸入

./mongod --config ./mongo.conf

 出現如下顯示則啓動成功即可

2.給mongodb配置用戶名密碼

首先保證mongodb啓動

第一:進入mongodb安裝路徑下的bin目錄,並且輸入./mongo

第二:切換到 'admin' 數據庫 use admin

第三:給admin設置用戶密碼:user: 用戶名, pwd: 用戶密碼,roles: 用來設置用戶的權限,比如讀,讀寫 等等

db.createUser({user: 'root', pwd: '123456', roles: ['root']})

驗證是否添加成功,"db.auth(用戶名,用戶密碼)" 這裏用db.auth('root', '123456') 如果返回 '1'表示驗證成功, 如果是 '0' 表示驗證失敗...

上述是給root設置密碼,現在要給特定的每個db設置權限,比如有一個庫名字叫做Article,這裏以Article這個庫爲例

第四:輸入use Article

第五:給Article設置一個用戶

db.createUser({user:'my123',pwd:'ps123456',roles: [{role:'readWrite',db:'Article'}]})

這樣我們就設置成功了。mongodb默認沒有開啓訪問控制的

第六:在我們配置的mongo.conf文件中將auth設置爲了true,如下所示

dbpath = /var/mongodb/data  #數據文件存放目錄,這裏的路徑按自己的路徑填寫,一定不要填錯
logpath =  /var/mongodb/logs/log.log  #日誌文件存放目錄,這裏的路徑按自己的路徑填寫
port = 27017  #端口
fork = true  #以守護程序的方式啓用,即在後臺運行
nohttpinterface = true
auth = true # 是否開啓校驗用戶,設置爲true後數據庫連接時需要輸入用戶名密碼!!!!!!!!!!!!!

最後重新啓動mongodb數據庫,我們可以進入mongodb數據庫安裝路徑中執行下列兩個命令

killall mongod  

./mongod --config ./mongo.conf

這時,我們要想再去連接Article這個庫,就需要用用戶名和密碼連接:

xxx.db('mongodb://your name: your [email protected]:27017/Article');

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章