文档简介:
通过mongodump和mongorestore工具迁移数据
操作场景
文档数据库服务支持开启公网访问功能,通过EIP进行访问。通过弹性云服务器访问,迁移前需要创建一台弹性云服务器,并安装mongodump和mongorestore工具。
前提条件
1. 准备弹性云服务器或可访问文档数据库的设备。
− 通过内网连接文档数据库实例,需要创建并登录弹性云服务器,请参见《弹性云服务器用户指南》中“创建并登录Windows弹性云服务器”或“创建并登录Linux弹性云服务器”的内容。
− 通过弹性公网IP连接文档数据库实例,需要具备以下条件。
i. 为实例中的节点绑定公网地址,如何绑定公网地址,请参见“集群”或“副本集”下“绑定和解绑弹性IP”的内容。
ii. 保证本地设备可以访问文档数据库绑定的公网地址。
2. 在已准备的弹性云服务器或可访问文档数据库的设备上,安装数据迁移工具。
安装数据迁移工具,请参见16.3.10 如何安装MongoDB客户端。
MongoDB客户端会自带mongoexport和mongoimport工具。
备份数据
步骤 1 登录到已准备的弹性云服务器或可访问文档数据库的设备。
步骤 2 使用mongodump工具,备份源数据库中的数据。
此处以SSL连接方式为例进行说明,如果选择普通连接方式,去掉命令中对应的“--ssl --sslCAFile--sslAllowInvalidCertificates”即可。
mongodump --host--port-u--authenticationDatabase--ssl --sslCAFile--sslAllowInvalidCertificates
-
DB_HOST为数据库地址。
-
DB_PORT为数据库端口号。
-
DB_USER为数据库用户名。
-
AUTH_DB为存储DB_USER信息的数据库,一般为admin。
-
FILE_PATH是存放根证书的路径。
出现如下提示时,输入数据库管理员对应的密码:
Enter password:
示例如下,命令执行后,源数据库中的数据将备份至当前目录下的“dump”文件夹中。
./mongodump --host 192.168.6.39 --port 8635 -u rwuser --authenticationDatabase admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidCertificates
2019-03-04T18:42:10.687+0800 writing admin.system.users to
2019-03-04T18:42:10.688+0800 done dumping admin.system.users (1 document)
2019-03-04T18:42:10.688+0800 writing admin.system.roles to
2019-03-04T18:42:10.690+0800 done dumping admin.system.roles (0 documents)
2019-03-04T18:42:10.690+0800 writing admin.system.version to
2019-03-04T18:42:10.691+0800 done dumping admin.system.version (2 documents)
2019-03-04T18:42:10.691+0800 writing test.test_collection to
2019-03-04T18:42:10.691+0800 writing admin.system.profile to
2019-03-04T18:42:10.692+0800 done dumping admin.system.profile (4 documents)
2019-03-04T18:42:10.695+0800 done dumping test.test_collection (198 documents)
----结束
导入数据
步骤 1 登录到已准备的弹性云服务器或可访问文档数据库的设备。
步骤 2 将要导入的数据上传到弹性云服务器或可访问文档数据库的设备。
根据不同的平台选择相应的上传方法。Linux下可参考命令:
scp -r@:
-
IDENTITY_DIR为备份文件夹所在的目录。
-
REMOTE_USER为步骤1中的弹性云服务器的操作系统用户。
-
REMOTE_ADDRESS为步骤1中的弹性云服务器的主机地址。
-
REMOTE_DIR为待导入的目标弹性云服务器的文件目录。
Windows平台下,请使用传输工具上传备份目录至弹性云服务器。
步骤 3 将备份的数据导入到文档数据库。
此处以SSL连接方式为例进行说明,如果选择普通连接方式,去掉命令中对应的“--ssl --sslCAFile--sslAllowInvalidCertificates”即可。
./mongorestore --host--port-u--authenticationDatabase--ssl --sslCAFile--sslAllowInvalidCertificates
-
DB_HOST为数据库地址。
-
DB_PORT为数据库端口号。
-
DB_USER为数据库管理员帐号名,默认为rwuser。
-
AUTH_DB为DB_USER进行权限验证的数据库,一般为admin。
-
Backup directory:备份文件存储目录,默认为“dump”。
-
FILE_PATH是存放根证书的路径。
出现如下提示时,输入数据库管理员对应的密码:
Enter password:
示例如下:
./mongorestore --host 192.168.6.187 --port 8635 -u rwuser --authenticationDatabase admin dump --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidCertificates
2019-03-05T14:19:43.240+0800 preparing collections to restore from
2019-03-05T14:19:43.243+0800 reading metadata for test.test_collection from dump/test/test_collection.metadata.json
2019-03-05T14:19:43.263+0800 restoring test.test_collection from dump/test/test_collection.bson
2019-03-05T14:19:43.271+0800 restoring indexes for collection test.test_collection from metadata
2019-03-05T14:19:43.273+0800 finished restoring test.test_collection (198 documents)
2019-03-05T14:19:43.273+0800 restoring users from dump/admin/system.users.bson
2019-03-05T14:19:43.305+0800 roles file 'dump/admin/system.roles.bson' is empty; skipping roles restoration
2019-03-05T14:19:43.305+0800 restoring roles from dump/admin/system.roles.bson
2019-03-05T14:19:43.333+0800 done
----结束






