monggo安裝與簡單操做

xupan003_monggo


yum 安裝能夠配置本地源
vim /etc/yum.conf 

keepcache=0改成keepcache=1

yum 下載好的rpm包在/var/cache/yum/x86_64/6/mongodb-org-3.4/packages

yum localinstall mongodb-org 或則 rpm -ivh *.rpm

============================================================== 

bin/mongod --port 27017 --fork -dbpath=/usr/local/devtools/mongdb/mongodb/db/ --logpath=/usr/local/devtools/mongdb/mongodb/logs/mongodb.log --logappend

netstat -lanp | grep "27017"  #查看MongoDB是否啓動

cd /usr/local/mongodb/bin/

./bin/mongo --host xupan003 --port 27017               ||                    ./mongo  #進入MongoDB數據庫控制檯

use admin  #進入admin數據庫

db.shutdownServer()  #關閉MongoDB數據庫

exit #退出

use bike                //建立database bike
db.createCollection("bike") //c建立collection 至關於table

db.bike.insert("_id":1,"status" : 1,"desc":"test") //insert data

 db.bike.find();    //查找
{ "_id" : 1, "status" : 1, "desc" : "test" }


=====================================================================

一,安裝
1,官網下載系統對應的源碼包
       mongodb-linux-x86_64-rhel62-3.2.0.tgz

2,解壓

tar zxvf mongodb-linux-x86_64-rhel62-3.2.0.tgz   
3,設置環境變量,/etc/profile中添加mongodb的bin路徑

export PATH=$PATH:/usr/local/mongodb/bin  
source /etc/profile  
4,建立數據目錄和日誌目錄(mongodb沒有安裝文件,也不會生成任何文件夾,須要建立數據目錄和日誌目錄)

[plain] view plain copy
mkdir /usr/local/mongodb/data  
mkdir /usr/local/mongodb/log  

二,啓動
1,命令帶多參數啓動

[plain] view plain copy
mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/dblogs --fork --journal --logappend  
    參數
    --dbpath:數據目錄
    --logpath:日誌文件夾路徑
    --fork:後臺運行,或者「&」
    --journal:write ahead logging
    --logappend: 對存在的日誌追加,若是沒有這個選項,新日誌將會覆蓋舊的日誌
2,命令帶配置文件啓動
(1) 新建配置文件

[plain] view plain copy
vi /etc/mongodb.conf  
dbpath=/usr/local/mongodb/data  
logpath=/usr/local/mongodb/log/mongodb.log  
port=27071  
fork=true  
journal=true

(2)啓動
mongod -f /etc/mongodb.conf  
     參數
     -f:配置文件

3,登陸
(1) 默認端口號登陸
mongo 

(2) 指定端口號登陸
mongo 192.168.1.1:27001  

三,關閉
1,非後臺運行時,關閉對話,或者ctrl+c
2,登陸數據庫執行:db.shutdownServer();
3,帶數據目錄,關閉服務器,安全
mongod  --shutdown  --dbpath /database/mongodb/data/  
配置文件


./bin/mongod --repair  

mongdb一個NoSQL數據庫,裏面存儲的是BSON(Binary Serialized Document Format,支持集羣,高可用、可擴展。

mongdb中的一些概念
  MongoDB        MySQL
  database       database
  collection     table
  json       二維表
  不支持SQL     SQL
  _id          主鍵

-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------

#建立一個普通用戶mongo
useradd mongo

#爲hadoop用戶添加密碼:
echo mongo | passwd --stdin mongo

#將bigdata添加到sudoers
echo "mongo ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/mongo
chmod 0440 /etc/sudoers.d/mongo
#解決sudo: sorry, you must have a tty to run sudo問題,在/etc/sudoer註釋掉 Default requiretty 一行
sudo sed -i 's/Defaults    requiretty/Defaults:mongo !requiretty/' /etc/sudoers

#配置mongo的yum源
sudo vi /etc/yum.repos.d/mongodb-org-3.4.repo

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

#關閉selinux
vi /etc/sysconfig/selinux 
SELINUX=disabled

#從新啓動
reboot

------------------------------------------------------------------------------------------------
###mongo的安裝和基本使用###
------------------------------------------------------------------------------------------------
#在機器上使用mongo用戶登陸(本地安裝給你了rpm包,rpm -ivh *.rpm)
sudo yum install -y mongodb-org

#修改mongo的配置文件
sudo vi /etc/mongod.conf 

#註釋掉bindIp或者修改爲當前機器的某一個ip地址

#啓動mongo
sudo service mongod start

#鏈接到mongo
#若是註釋掉了bindIp,那麼鏈接時用
mongo
#指定了ip地址
mongo --host 192.168.100.101 --port 27017

#使用或建立database
use bike

#建立集合(表)
db.createCollection("bike")

#插入數據
db.bike.insert({"_id": 100001, "status": 1, "desc": "test"})
db.bike.insert({"_id": 100002, "status": 1, "desc": "test"})

#查找數據(全部)
db.bine.find()

#退出
exit

#關閉mongo服務
sudu service mongod stop

#設置服務開機啓動
sudo checkconfig mongod on

#設置mongo服務開機不啓動
sudo chkconfig mongod off

------------------------------------------------------------------------------------------------
###mongo安全認證配置###
#若是修改了mongo存儲是的目錄那麼必定要修改該目錄的所屬用戶和組爲mongod
#chown -R mongod:mongod  /mongo/
------------------------------------------------------------------------------------------------
#添加管理員用戶
#使用admin這個database
use admin

#在沒有開啓認證的狀況下,建立一個超級用戶
db.createUser(
     {
       user: "mongo",
       pwd: "mongo",
       roles: [ {role: "root", db: "admin" }]
     }
)

#修改mongo的配置文件/etc/mongod.conf,配置mongo的安全認證
security:
  authorization: enabled

#重啓mongo服務
service mongod restart


#從新使用mongo shell鏈接
mongo

#使用admin database
use admin

#受權登陸
db.auth("admin", "admin123")

#建立一個bike數據庫
use bike

#添加一個普通用戶,具有讀寫權限
db.createUser(
     {
       user: "xp",
       pwd: "xp",
       roles: ["readWrite"]
     }
)

#使用小牛用戶登陸
mongo
use bike
db.auth("xp", "xp")

#在database下建立collection
db.createCollection("users")
db.createCollection("bikes")
db.createCollection("logs")

#插入數據
db.users.insert( { name: "laozhao", age: 30 } )

#查找
db.users.find()

db.users.update({'name':'laozhao'},{$set:{'age': 18}},{multi:true})

db.users.remove({'name': 'laoduan'})
db.users.remove({'name': 'laoduan'}, 1)

db.users.find({"name":"laoduan", "fv": 99.99})


#查看當前db的索引
db.logs.getIndexes()

#建立索引
db.logs.ensureIndex({"name":1})

#刪除索引
db.logs.dropIndex({"name":1})

#開啓運行用戶從其餘機器鏈接mongodb
#否則會報錯Caused by: java.net.ConnectException: Connection refused (Connection refused)
#修改/etc/mongod.conf,註釋掉bindIp:
#  bindIp:

#重啓mongodb
service mongod restart


數據庫用戶角色:read、readWrite;
數據庫管理角色:dbAdmin、dbOwner、userAdmin;
集羣管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
備份恢復角色:backup、restore;
全部數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超級用戶角色:root
// 這裏還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
內部角色:__system
相關文章
相關標籤/搜索