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