在Linux上迁移MongoDB数据库可以通过以下几种方法进行:
使用mongodump和mongorestore这是最常用的数据迁移方法,适用于大多数情况。
备份数据:使用mongodump
命令备份数据。例如,备份名为mydb
的数据库:
mongodump --db mydb
这将创建一个名为mydb
的文件夹,并在其中保存备份数据。
将备份文件传输到目标服务器:使用scp
或其他文件传输工具将备份文件传输到目标服务器。例如:
scp -r /path/to/backup user@target_server:/path/to/destination
恢复数据:在目标服务器上使用mongorestore
命令恢复备份数据。例如:
mongorestore --db mydb /path/to/backup/mydb
这将从备份数据中恢复mydb
数据库。
这种方法适用于导出为JSON或CSV格式的数据,然后导入到另一个MongoDB实例。
导出数据:使用mongoexport
命令导出数据。例如:
mongoexport --host <source_host> --port <source_port> --db <source_db> --collection <collection_name> --out /path/to/export.json
导入数据:使用mongoimport
命令导入数据。例如:
mongoimport --host <target_host> --port <target_port> --db <target_db> --collection <collection_name> --file /path/to/export.json
这种方法适用于在同一台机器上或者不同机器之间进行物理文件的迁移。
停止源MongoDB实例:
sudo systemctl stop mongod
使用rsync同步数据文件:
sudo rsync -avz --progress /var/lib/mongodb/ /path/to/target/mongodb/
修改目标MongoDB实例的配置文件,确保数据目录指向新的位置。
启动目标MongoDB实例:
sudo systemctl start mongod
对于需要实时同步数据的情况,可以使用DTS(Data Transmission Service)进行不停机迁移。
配置迁移任务:在DTS中配置迁移任务,选择全量数据迁移和增量数据迁移。
启动迁移任务:启动迁移任务后,DTS会自动进行数据迁移,源数据库正常提供服务。