目錄
安裝
>>創建yum倉庫
創建並打開:
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
>>yum安裝
yum -y install mongodb-org
>>修改配置文件
vi /etc/mongod.conf
將binIP改爲0.0.0.0,這樣所有主機都可以連接到數據庫了
啓動與管理
啓動: systemctl start mongod.service
停止:systemctl stop mongod.service
開機自啓:systemctl enable mongod.service
查看運行狀態:systemctl status mongod.service
文件存放目錄
默認數據文件存放在:/var/lib/momgo
默認日誌文件存在:/var/log/mongodb/mongod.log
如需修改可以在/etc/mongod.conf配置文件中指定目錄
使用
管理性使用
查看版本:mongod --version
連接數據庫:mongo 127.0.0.1:27017 //成功連接數據庫的提示符爲>
退出數據庫:exit
增
>>創建數據庫(文件夾)
use test //選中test數據庫,如果沒有則創建
注意:需要在數據庫中創建表,數據庫纔會被保存
>>創建集合(文件)
use test //選中數據庫
db.createCollection("集合名") //創建集合
>>添加數據(內容)
不指定ID:
db.users.insert({name:'zhu',age:23}) //向users集合中添加了{ }中的內容
可以發現,如果不指定ID,系統會生成一個ObjectId;
ObjectId:12字節的 BSON 類型字符串
4字節:UNIX時間戳
3字節:表示運行MongoDB的機器
2字節:表示生成此_id的進程
3字節:由一個隨機數開始的計數器生成的值
指定ID:
db.users.insert({_id:1,name:'guo',age:23})
添加多條數據:
語法:db.集合名.insert([{第一條數據},{第二條數據}])
刪
>>刪除數據庫(文件夾)
use testdb //選中testdb數據庫
db.dropDatabase( ) //刪除選中的數據庫
>>刪除集合(文件)
use test //選中並進入test數據庫
db.集合名.drop( ) //刪除test數據庫中的指定集合
>>刪除數據(內容)
刪除某項數據:
db.集合名.remove(刪除條件) //根據刪除條件來刪除集合中的內容
例子:
db.users.remove(_id:4) //刪除users集合中id爲4的所有數據
刪除某項數據中的某個字段:
//刪除name爲dear這項數據中的name字段
db.users.update({name:'dear'},{$unset:{name:'dear'}})
改
>>修改數據(內容)
修改字段的值:
語法:db.集合名.update({原字段},{$set:{新字段}})
例子:db.users.update({name:"zhu"},{$set:{name:"dear"}})
修改字段名:
//修改id爲3中name字段名爲mingzi
db.users.update({_id:3},{$rename:{name:'mingzi'}})
//修所有項中有age字段的字段名爲nianling
db.users.update({},{$rename:{age:"nianling"}},{multi:true})
查
>>顯示所有的數據庫(文件夾)
show dbs
>>顯示所有的集合(文件)
show tables
show collections //兩個命令都可以用
>>查找數據(內容)
顯示集合中所有數據:
db.集合名.find( )
顯示id爲3的數據:
db.集合名.find({_id:3})
只顯示數據,不顯示id:
db.集合名.find({ },{_id:0})
備份與恢復
備份
1. 創建用於備份的目錄
cd /home
mkdir dbbackup
2. 開始恢復
mongorestore -h 127.0.0.1:27017 -d testdb /home/dbbackup/testdb
// -h跟主機名和端口號
// -d要恢復的數據庫名
// /home/dbbackup/testdb,爲備份文件所在的目錄
恢復
1. 找到數據庫備份到的目錄
這裏假設爲/home/dbbackup/testdb
2. 開始恢復
mongorestore -h 127.0.0.1:27017 -d testdb /home/dbbackup/testdb
// -h跟主機名和端口號
// -d要恢復的數據庫名
// /home/dbbackup/testdb,爲備份文件所在的目錄
注意:
MongoDB採用副本集的方式備份最爲安全和實用;
當主服務器失效後,副本集可以替換成主服務器,從而起到無縫切換的作用;