mongodb备份数据库
Ⅰ 数据库软件都有那些
企业里常用的数据库软件有Mysql、PostgreSQL、MicrosoftSQLServer、Oracle数据库、MongoDB。
1、Mysql。
MySQL原本是一个开放源码的关系数据库管理系统,原开发者为瑞典的MySQLAB公司,该公司于2008年被升阳微系统(SunMicrosystems)收购。2009年,甲骨文公司(Oracle)收购升阳微系统公司,MySQL成为Oracle旗下产品。
MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。
2、PostgreSQL。
PostgreSQL可以说是目前功能最强大、特性最丰富和结构最复杂的开源数据库管理系统,其中有些特性甚至连商业数据库都不具备。这个起源于加州大学伯克利分校的数据库,现已成为一项国际开发项目,并且拥有广泛的用户群,尤其是在海外,目前国内使用者也越来越多。
PostgreSQL基本上算是见证了整个数据库理论和技术的发展历程,由UCB计算机教授MichaelStonebraker于1986年创建。在此之前,Stonebraker教授主导了关系数据库Ingres研究项目,88年,提出了Postgres的第一个原型设计。
MySQL号称是使用最广泛的开源数据库,而PG则被称为功能最强大的开源数据库。
3、MicrosoftSQLServer。
SQLServer是Microsoft开发的一个关系数据库管理系统(RDBMS),现在是世界上最为常用的数据库。SQLServer现在是包括内置的商务智能工具,以及一系列的分析和报告工具,可以创建数据库、备份、复制、安全性更好以及更多。
SQLServer是一个高度可扩展的产品,可以从一个单一的笔记本电脑上运行的任何东西或以高倍云服务器网络,或在两者之间任何东西。虽然说是“任何东西”,但是仍然要满足相关的软件和硬件的要求。
4、Oracle数据库。
Oracle数据库系统是美国Oracle(甲骨文)公司提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(Client/Server,C/S)或浏览器/服务器(Browser/Server,B/S)体系结构的数据库之一。
Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
5、MongoDB
mongoDB是一个介于关系数据库和非关系数据库之间的开源产品,是最接近于关系型数据库的NoSQL数据库。它在轻量级JSON交换基础之上进行了扩展,即称为BSON的方式来描述其无结构化的数据类型。尽管如此它同样可以存储较为复杂的数据类型。
参考资料来源:网络——Mysql
参考资料来源:网络——PostgreSQL
参考资料来源:网络——MicrosoftSQLServer
参考资料来源:网络——Oracle数据库
参考资料来源:网络——MongoDB
Ⅱ 测试工程师面试常见问题有哪些
测试工程师面试常见问题及答案举例如下。
一、Mongodb熟悉吗,一般部署几台。
部署过,没有深入研究过,一般mongodb部署主从、或者mongodb分片集群;建议3台或5台服务器来部署。MongoDB分片的基本思想就是将集合切分成小块。这些块分散到若干片里面,每个片只负责总数据的一部分。
二、如何发布和回滚,用jenkins又是怎么实现。
笔者回答:jenkins配置好代码路径(SVN或GIT),然后拉代码,打tag。需要编译就编译,编译之后推送到发布服务器(jenkins里面可以调脚本),然后从分发服务器往下分发到业务服务器上。
三、Tomcat工作模式。
笔者回答:Tomcat是一个JSP/Servlet容器。其作为Servlet容器,有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。
四、监控用什么实现的。
笔者回答:现在公司的业务都跑在阿里云上,我们首选的监控就是用阿里云监控,阿里云监控自带了ECS、RDS等服务的监控模板,可结合自定义报警规则来触发监控项。
五、你是怎么备份数据的,包括数据库备份。
笔者回答:在生产环境下,不管是应用数据、还是数据库数据首先在部署的时候就会有主从架构、或者集群,这本身就是属于数据的热备份。
其实考虑冷备份,用专门一台服务器做为备份服务器,比如可以用rsync+inotify配合计划任务来实现数据的冷备份,如果是发版的包备份,正常情况下有台发布服务器,每次发版都会保存好发版的包。
Ⅲ mongodb 怎么备份多个集合
单个collection备份:
mongoexport -h dbhost -d dbname -c collectionname -f collectionKey -o dbdirectory
-h: MongoDB所在服务器地址
-d: 需要恢复的数据库实例
-c: 需要恢复的集合
-f: 需要导出的字段(省略为所有字段)
-o: 表示导出的文件名
Ⅳ Linux安装MongoDB双机热备份(主从复制)
主从复制作用:数据备份、读写分离
双机热备份:部署两个节点的MongoDB服务,配置一主一从,主节点添加数据,将自动备份到从节点上面,保证主机宕机后数据不丢失,同时可以继续提供数据读取服务(主服务挂掉,从服务将无法在进行写入数据,只能提供数据读取服务)
一主多从:部署多个节点的MongoDB服务,配置一主多从,数据也会自动备份到所有从节点上面,保证主机宕机后数据不丢失,同时可以根据从节点的优先级进行选取新的主节点,继续提供读写服务(主从关系跟服务设置的优先级有直接关系 优先级参数:priority 数字越大优先级越高)
使用上面的方式,在不同服务器上安装并启动MongoDB服务
将启动时使用的配置文件mongodb.conf中添加下面的副文本集名称配置,将权限控制参数改为false(auth=false),然后将服务进行重新启动即可(testrs是自定义的副本集名称)
#使用此设置来配置复制副本集。指定一个副本集名称作为参数,所有主机都必须有相同的名称作为同一个副本集
replSet=testrs
然后启动每个服务的客户端查看当前节点为主节点还是从节点;
1). 如果服务部署在不同服务器上,直接启动/bin目录下的mongo即可 命令:./ mongo
2). 如果服务部署在同一台服务器上,使用不同端口及配置文件进行启动的,启动客户端使用该命令 命令:./mongo 127.0.0.1:27018/
经过上面的一系列操作后,主从配置就完成了,接下来可以进行数据同步测试
第一步:在主库上面切换到admin,然后进行添加数据(命令:db.testdb1.insert([{"name":"zs"}]))
在从库上查询该数据(命令:db.testdb1.find({name:"zs"})),会出现下面如图的错误,因为从库没有查询数据权限,所以需要设置查询权限
设置从库查询权限,使用命令:rs.secondaryOk()
然后在使用查询命令进行查询(命令:db.testdb1.find({name:"zs"}))就会看到如下图的查询结果:
如上图所示,数据已经同步到从库上面了,这样双机热备份就已经实现了,上面的情况不包含权限控制
上面的情况已经完成了MongoDB的主从复制功能,但是我们把权限没有开放,启动时使用的配置中auth配置的值为false,说明没有添加权限,接下来就开放一下权限配置;
首先需要主从之间通信的一个keyFile文件,根据官网提供的说明,这个keyfile是可以任意内容的,只要保证所有集群中的机器都拥有同样的文件即可。
我这里将keyFile文件放到了MongoDB的bin目录下了,使用openssl rand -base64 1024 > /usr/local/mongodb-master/bin/mongodb.key 命令生成;
然后将mongodb.key文件复制到每台从服务上面,在每台服务的启动文件上添加 keyFile=/usr/local/mongodb-master/keyfile/mongodb.key 配置项 ,然后将auth属性值改为true,这样就完成了权限配置
重启主从两个节点,这样主机添加的数据,就会同步到从机上面了!!!
添加或删除从节点参考文章:
https://blog.csdn.net/weixin_44839444/article/details/105666163
Ⅳ mongodb删除数据库后怎么恢复
深圳极佳数据库恢复中心开发的,mongodb数据库恢复工具可以从磁盘恢复数据库文件集合记录。你可以网络下、
Ⅵ 如何在Ubuntu 14.04上备份,恢复及迁移MongoDB数据库
1、冷备份与恢复——创建数据文件副本(前提要停止MongoDB服务器)直接
MongoDB所数据都存储数据目录默认/data/db/(WindowsC:\data\db\)启MongoDB用--dbpath指定我自设置数据存储目录
备份MongoDB数据:要简单创建数据存储目录副本直接份
恢复MongoDB数据:MongoDB启用--dbpath指定数据存储目录副本位置
服务器运行情况直接风险能数据已经遭破坏种式创建数据目录副本需要关闭MongoDB服务器前提数据目录存储关闭刻数据快照服务器重新启前复制目录作备份
,