一文彻底搞懂MongoDB安装使用与备份,图文详解

目录

安装

启动与管理

文件存放目录

使用

管理性使用

备份与恢复

备份

恢复


安装

>>创建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采用副本集的方式备份最为安全和实用;
当主服务器失效后,副本集可以替换成主服务器,从而起到无缝切换的作用;

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