最近在又在倒騰MongoDB,把安裝配置的相關命令貼出來
一、下載
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.8.tgzlinux
二、解壓
tar zxvf mongodb-linux-x86_64-rhel70-3.2.8.tgz
mv mongodb-linux-x86_64-rhel70-3.2.8 /usr/local/
mv mongodb-linux-x86_64-rhel70-3.2.8 mongodb
cd mongodb/mongodb
mkdir db
mkdir logs
cd bin/
三、編輯配置文件:
vim mongodb.conf
輸入如下內容:
dbpath=/usr/local/mongodb/db
logpath=/usr/local/mongodb/logs/mongodb.log
bind_ip=0.0.0.0
port=27017
fork=true
nohttpinterface=trueshell
四、建立新的帳號:
groupadd mongodb
useradd mongodb -g mongodb
cd ../../
chown -R mongodb:mongodb mongodb數據庫
五、啓動:
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.confvim
六、設置開機自動啓動mongodb
vi /etc/rc.d/rc.local
/usr/local/mongodb/bin/mongod –config /usr/local/mongodb/bin/mongodb.conf安全
進入mongodb的shell模式:
/usr/local/mongodb/bin/mongo
查看數據庫列表:
show dbs
查看當前db版本:
db.version();服務器
七、增長管理員權限:ip
userAdminAnyDatabase 這個角色擁有分配角色和用戶的權限,但沒有查寫的缺陷
root 這是超級管理員
readWrite 有讀寫權限
read 有讀權限get
進入shell模式:
/usr/local/mongodb/bin/mongoit
use admin //切換到admin數據庫
db.createUser(
{
user: 「root」,
pwd: 「testMongoDB2016」,
roles:[{role:」root」, db:」admin」}]
}
);
db.createUser(
{
user: 「mongoRoot」,
pwd: 「testMongoDB2016」,
roles:[{role:」userAdminAnyDatabase」, db:」admin」}]
}
);
驗證一下,在哪裏註冊用戶的要去哪一個db裏認證:
db.auth(「mongoRoot」, 「testMongoDB2016」)
此後能夠用這個mongoRoot帳號去建立某一數據庫管理帳號:
db.createUser({user:」hhq163」,pwd:」test123456」,roles:[{「role」:」readWrite」,」db」:」admin」}]})
但發現此時增長的帳號不能在客戶端登陸,緣由是mongodb版本錯了:
先退出 mongod 服務
use admin
db.auth(「root」, 「testMongoDB2016」)
db.shutdownServer()
再在無認證狀況下打開 mongod
use admin
db.dropUser(「hhq163」)
db.system.version.update({ 「_id」:」authSchema」},{$set:{「currentVersion」:3}})
db.createUser({user:」hhq163」,pwd:」test123456」,roles:[{「role」:」readWrite」,」db」:」admin」}]})
再以認證的形式啓動mongodb
若是須要建立某一個新DB的帳號:
須要在shell下執行:
use TestDB
db.createUser({user:」hhq163」,pwd:」test123456」,roles:[{「role」:」readWrite」,」db」:」TestDB」}]})
vim /usr/local/mongodb/bin/mongodb.conf
在文件末尾增長如下這一行:
auth=true
八、關閉數據庫服務器:
use admin
db.shutdownServer()
若是開戶安全認證,則要先認證: use admin db.auth(「root」, 「testMongoDB2016」) db.shutdownServer()