文章插图
| 总结/Edison Zhou
上一篇我们了解了MongoDB的复制集概念和复制集的搭建,本篇我们来了解一下如何实现数据恢复 和 提升安全性的一些实践 。
1、Mongo Tools实现数据恢复MongoDB 4.4之后,备份与恢复功能就和主版本分离开了,因此如果我们想要实现备份与恢复就需要独立下载Tools包 。
下载地址:https://www.mongodb.com/try/download/database-tools
文章插图
这里,我们下载后将tgz包放到master节点下 。
配置Mongo Tools
首先,解压压缩包并重命名,然后将其移动到指定目录下:
tar -zvxf mongodb-database-tools-rhel70-x86_64-100.3.1.tgzmv mongodb-database-tools-rhel70-x86_64-100.3.1 toolsmv tools /usr/local/mongodb
然后,为tools在master节点下配置环境变量:Step1. 修改profile文件并刷新
cat >>/etc/profile<<"EOF">export PATH=$PATH:/usr/local/mongodb/tools/bin>EOFsource /etc/profile
Step2. 修改.bashrc文件cat >>/root/.bashrc<<"EOF">export PATH="$PATH:/usr/local/mongodb/tools/bin">EOF
测试数据恢复首先,下载测试数据备份dump:
链接: https://pan.baidu.com/s/1wII6S_-ipup4nu9NDKlWcw 提取码: ihjm
其次,将其拷贝到master节点(因为我们只在master节点安装了tools)并解压:tar -zvxf mongodb-database-tools-rhel70-x86_64-100.3.1.tgz
最后,在解压的目录下(我这里是/usr/local/mongodb/)执行mongorestore:mongorestore -h mongo-master:27017
执行结果如下图所示:文章插图
可以看到,有100000条记录成功恢复 。
我们也可以验证一下:
文章插图
可以看到orders表已经恢复到mock数据库中 。
此外,我们还可以使用mongo tools实现数据的备份,只需借助 mongodump 命令,示例如下:
# 排除指定的集合mongodump--db test --excludeCollection=users --excludeCollection=salaries# 指定ip,端口,用户名,认证,压缩,输出目录mongodump --host mongo-master --port 37017 --username user --password "pass" --gzip --out /opt/backup/mongodump-2020-05-17
2、提升安全性的实践默认是无安全性的设置MongoDB默认的配置是无安全性的,用户名密码都不需要就可以直接连接 。在默认模式下,一般不要开放外网连接端口,否则你的MongoDB很可能会被攻击和删库 。
更改MongoDB默认端口
MongoDB默认的端口是27017,一般线上环境都建议更改默认端口,比如改为20270,只需在mongodb.conf中配置即可 。
net:bindIp: 0.0.0.0 port: 20270 # port
MongoDB的用户认证方式MongoDB提供了以下的用户认证方式 。
文章插图
本次我们实践一下用户名+密码的认证方式来提高一点安全性 。
MongoDB的授权基于角色的权限控制,不同权限的用户对数据库的操作不同 。这一点,跟传统的关系型数据库如MySQL、MSSQL没有多大差异 。
文章插图
Mongo集群节点的认证
首先,我们需要配置一下Mongo集群节点的认证,目前有两种认证方式 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- mongodb是nosql数据库吗 2 NoSQL | MongoDB入门实战教程
- mongodb是nosql数据库吗 4 NoSQL | MongoDB入门实战教程
- mongodb是nosql数据库吗 5 NoSQL | MongoDB入门实战教程
- mongodb是nosql数据库吗 6 NoSQL | MongoDB入门实战教程
- mongodb是nosql数据库吗 7 NoSQL | MongoDB入门实战教程
- mongodb是nosql数据库吗 8 NoSQL | MongoDB入门实战教程
- mongodb是nosql数据库吗 9 NoSQL | MongoDB入门实战教程
- mongodb是nosql数据库吗 11 NoSQL | MongoDB入门实战教程
- mongodb是nosql数据库吗 12 NoSQL | MongoDB入门实战教程
- mongodb是nosql数据库吗 13 NoSQL | MongoDB入门实战教程