腾讯云数据库MongoDB运维类问题

使用工具mongodump/mongorestore迁移数据会影响业务吗?

使用mongodump/mongorestore迁移数据是离线迁移过程,需要停止读写业务,建议在业务低峰操作。

怎么确认dump/restore操作完成?

mongodump/mongorestore操作完成会有提示结果,结果中显示dump/restore出的那些database中collection的document个数。执行结果失败也会有提示,并且提示出哪些数据库操作失败。

执行mongodump完成的提示结果2019-04-09T09:52:00.161+0800writing admin.system.version to2019-04-09T09:52:00.162+0800done dumping admin.system.version (1 document)2019-04-09T09:52:00.162+0800writing student_db.student_col to2019-04-09T09:52:00.162+0800writing mydb.mycollection to2019-04-09T09:52:00.163+0800done dumping student_db.student_col (5 documents)2019-04-09T09:52:00.163+0800done dumping mydb.mycollection (3 documents)执行mongorestore完成的提示结果2019-04-09T10:06:05.724+0800preparing collections to restore from2019-04-09T10:06:05.725+0800reading metadata for student_db.student_col from dump/student_db/student_col.metadata.json2019-04-09T10:06:05.758+0800reading metadata for mydb.mycollection from dump/mydb/mycollection.metadata.json2019-04-09T10:06:05.758+0800restoring mydb.mycollection from dump/mydb/mycollection.bson2019-04-09T10:06:05.778+0800no indexes to restore2019-04-09T10:06:05.778+0800finished restoring mydb.mycollection (3 documents)

非4.0版本是不是有什么兼容性问题,是否不支持数据导入?

由于目前腾讯云上所创建的MongoDB实例都是3.4版本,是基于WiredTiger存储引擎的系统,所以在腾讯云服务器中安装3.4版本的软件即可。但是自建/竞品的MongoDB数据库版本可能是4.0以上版本,所以为了能兼容、并正常的导数据,建议在腾讯云服务器机器上安装4.0版本的MongoDB软件。

为什么需要从bcc上远程登录MongoDB的实例来dump?

因为腾讯智能腾讯云数据库MongoDB 实例目前仅支持在腾讯云腾讯云服务器上操作,所以在导数据时如果是公有云便可以直接将公有云数据dump到腾讯云腾讯云服务器上,如果是自建/私有云需要在自建环境下dump出数据,然后上传到腾讯云腾讯云服务器机器,最后恢复到腾讯智能腾讯云数据库MongoDB 实例中。

连接断掉如何解决?是否需要重新dump?

如果在dump/restore数据时连接端掉,需要重新连接然后操作。但是如果数据量较大,终端显示已经dump/restore出了哪些数据,这些数据不必重新操作,仅对于没有操作完成的数据库重新进行操作。

本地MongoDB数据库存在集合system.indexes在restore到腾讯智能腾讯云数据库MongoDB 后不存在了?

因为存储引擎不同导致的,腾讯云数据库MongoDB 使用的存储引擎是WiredTiger3.4版本,而在本地MongoDB使用的mmapv1存储引擎,数据迁移完毕后这类集合就不存在了,但不影响迁移之后的正常使用。

在mongodump/mongorestore出现如下错误
2019-04-09T14:36:35.338+0800Failed: error counting admin.system.keys: not authorized on admin to execute command { count: "system.keys", query: {}, $readPreference: { mode: "secondaryPreferred" }, $db: "admin" }

这是由于MongoDB shell和MongoDB server版本不兼容导致的,在3.X版本的MongoDB shell来操作4.0以上版本MongoDB数据库时会出现此错误,建议升级腾讯云腾讯云服务器上的软件版本至4.0以上。

我是否需要使用mongodump进行数据备份?

为防止误操作,保障数据的安全,经常使用工具mongodump对数据库来做备份操作,并使用mongorestore来恢复某一时刻数据库备份状态。

如何远程连接腾讯云数据库MongoDB 服务

创建一个与腾讯云数据库MongoDB 服务节点部署在同一VPC下的腾讯云服务器,在登录腾讯云服务器后远程连接云数据库服务节点,具体的操作步骤参考连接实例。

远程连接腾讯云数据库MongoDB 失败

问题原因 解决方案
参数输入错误 检查数据库名、用户名、密码等各参数是否输入正确
权限问题 检查输入的权限是否和数据库的权限匹配
客户端版本过低 检查客户端Mongo shell的版本,请升级至3.4以上版本

mongodump备份全部db报错

在一键式备份所有database时如遇到以上错误,出现的原因是客户端的版本过低,请升级至3.4以上版本。

使用mongodump进行数据备份,备份文件会存到哪里?

备份文件会存到执行mongodump命令的客户端所在节点,路径在-o 参数配置。

使用mongodump进行数据备份,恢复是直接回滚覆盖原来的mongodb云数据库数据吗?

是的,因此在执行恢复命令mongorestore前,需要您确认好要恢复的备份文件。

使用mongodump进行数据备份,备份和恢复过程是否会中断?如果中断怎么处理?

因网络波动等原因,备份和恢复过程可能会中断。如果中断发生,命令执行将会报错,此时需要重新发起备份或恢复操作。

使用mongodump进行数据备份是否会影响业务?

使用mongodump进行数据备份属于离线备份,在备份和恢复过程中,数据库将会停止提供读写服务,因此建议您在业务低峰进行操作。

标签