mongodb数据迁移centos上怎么操作
MongoDB数据迁移至CentOS操作指南
一、迁移前准备
-
目标服务器环境配置
确保目标CentOS服务器已安装与源服务器版本兼容的MongoDB(推荐使用官方YUM仓库安装,避免版本冲突)。安装完成后,启动MongoDB服务并设置开机自启:sudo systemctl start mongod sudo systemctl enable mongod
若启用身份验证,需提前创建管理员账户(如
admin
)并授权,确保有权限操作数据库。 -
网络与权限检查
- 确保源服务器与目标服务器网络互通(若跨服务器迁移,需开放MongoDB默认端口
27017
,可通过firewall-cmd
命令配置); - 源服务器需有
mongodump
、mongorestore
工具权限(默认安装MongoDB后自带); - 目标服务器需有足够磁盘空间存储备份数据。
- 确保源服务器与目标服务器网络互通(若跨服务器迁移,需开放MongoDB默认端口
二、具体迁移步骤
方法1:使用mongodump
+mongorestore
(逻辑备份,适用于大多数场景)
1. 备份源数据库
在源服务器上执行mongodump
命令,将指定数据库(如mydb
)备份到本地目录(如/backup
):
mongodump --host 源服务器IP --port 27017 --db mydb --out /backup
若源数据库启用了身份验证,需添加-u
(用户名)、-p
(密码)参数:
mongodump -u admin -p your_password --authenticationDatabase admin --host 源服务器IP --port 27017 --db mydb --out /backup
2. 传输备份文件至目标服务器
使用scp
命令将备份目录复制到目标服务器(如目标服务器IP为192.168.1.100
,目标目录为/target
):
scp -r /backup 用户名@192.168.1.100:/target
3. 恢复数据至目标服务器
在目标服务器上执行mongorestore
命令,将备份数据导入到目标数据库(如mydb_target
):
mongorestore --host 127.0.0.1 --port 27017 --db mydb_target /target/mydb
若目标数据库已存在且需清空旧数据,可添加--drop
参数(谨慎使用,会删除目标数据库原有数据):
mongorestore --host 127.0.0.1 --port 27017 --db mydb_target --drop /target/mydb
4. 验证数据完整性
连接到目标MongoDB实例,检查数据是否迁移成功:
mongo -u admin -p your_password --authenticationDatabase admin
use mydb_target
show collections # 查看集合列表
db.collection_name.find().limit(10) # 查询集合中的数据(替换为实际集合名)
方法2:使用rsync
同步数据文件(物理备份,适用于大数据量场景)
1. 停止源MongoDB服务
为确保数据一致性,停止源服务器上的MongoDB服务:
sudo systemctl stop mongod
2. 同步数据目录
MongoDB默认数据目录为/var/lib/mongodb
(可通过/etc/mongod.conf
中的storage.dbPath
确认)。使用rsync
命令将源数据目录同步到目标服务器(目标目录需与源目录一致,如/var/lib/mongodb
):
rsync -avz --delete 源服务器IP:/var/lib/mongodb/ 目标服务器IP:/var/lib/mongodb/
--delete
参数会删除目标目录中源目录不存在的文件,确保数据完全一致。
3. 启动目标MongoDB服务
在目标服务器上启动MongoDB服务:
sudo systemctl start mongod
检查服务状态,确保启动成功:
sudo systemctl status mongod
4. 验证数据
同方法1的步骤4,通过MongoDB Shell验证数据完整性。
三、迁移后配置
-
更新客户端连接信息
修改所有客户端应用程序的连接字符串,指向目标服务器的IP地址和端口(默认27017
)。例如:mongodb://192.168.1.100:27017/mydb_target
-
清理临时文件
删除源服务器上的备份文件(如/backup
)和目标服务器上的临时传输文件,释放磁盘空间。 -
监控性能
迁移完成后,监控目标服务器的CPU、内存、磁盘IO等指标,确保MongoDB运行稳定。
四、注意事项
- 版本兼容性:源服务器与目标服务器的MongoDB版本需兼容(如源版本为4.4,目标版本建议为4.4及以上,避免跨大版本迁移);
- 数据一致性:迁移前停止源数据库服务或锁定集合(如使用
db.collection_name.lock()
),防止数据修改导致不一致; - 权限问题:确保源服务器有备份权限,目标服务器有写入权限;
- 日志排查:若迁移失败,查看MongoDB日志文件(
/var/log/mongodb/mongod.log
)定位问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: mongodb数据迁移centos上怎么操作
本文地址: https://pptw.com/jishu/718600.html