MongoDB数据迁移至CentOS操作指南
一、迁移前准备工作
-
目标服务器安装MongoDB
确保目标CentOS服务器已安装与源服务器版本兼容的MongoDB(建议使用相同主版本,如源为5.0则目标选5.x)。可通过以下命令安装(以CentOS 7为例):# 添加MongoDB官方YUM仓库 wget https://repo.mongodb.org/yum/redhat/7/mongodb-org/5.0/x86_64/RPMS/mongodb-org-5.0.5-1.el7.x86_64.rpm # 安装MongoDB核心组件 rpm -ivh mongodb-org-*.rpm # 启动服务并设置开机自启 systemctl start mongod && systemctl enable mongod注:若源服务器为Windows或其他Linux发行版,需下载对应平台的MongoDB工具(如
mongodb-database-tools)用于数据导出。 -
配置权限与网络
- 确保源服务器和目标服务器的MongoDB用户具有读(源)/写(目标)权限(如
dbOwner角色)。 - 开放目标服务器的MongoDB端口(默认27017):
firewall-cmd --zone=public --add-port=27017/tcp --permanent firewall-cmd --reload
- 确保源服务器和目标服务器的MongoDB用户具有读(源)/写(目标)权限(如
二、常用迁移方法(mongodump/mongorestore)
1. 备份源数据库
使用mongodump工具导出源数据库数据到本地目录(需替换、、和):
mongodump --host --port -u -p --authenticationDatabase admin -d -o
- 示例:导出
testDB数据库到/home/user/mongodb_backup:mongodump --host 192.168.1.100 --port 27017 -u admin -p 123456 --authenticationDatabase admin -d testDB -o /home/user/mongodb_backup
2. 传输备份文件至目标服务器
使用scp工具将备份目录复制到目标CentOS服务器(替换、和):
scp -r @:/home//
- 示例:将本地
/home/user/mongodb_backup复制到目标服务器的/home/user/:scp -r /home/user/mongodb_backup user@192.168.1.200:/home/user/
3. 恢复数据至目标数据库
使用mongorestore工具将备份数据导入目标数据库(替换、、和):
mongorestore --host --port -u -p --authenticationDatabase admin /
- 示例:将
/home/user/mongodb_backup/testDB恢复到目标服务器的testDB数据库:mongorestore --host 192.168.1.200 --port 27017 -u admin -p 123456 --authenticationDatabase admin /home/user/mongodb_backup/testDB - 注意:若目标数据库已存在,可添加
--drop参数先删除旧数据。
三、备选方法(数据目录同步)
若源服务器允许停机,可直接同步数据目录(适用于相同MongoDB版本):
-
停止源服务器MongoDB服务
mongo --eval "db.getSiblingDB('admin').shutdownServer()" -
压缩并传输数据目录
假设源数据目录为/var/lib/mongo,使用tar压缩后传输:tar -czvf mongodb_data.tar.gz /var/lib/mongo scp mongodb_data.tar.gz user@192.168.1.200:/home/user/ -
解压并配置目标服务器
- 解压到目标数据目录(需与目标MongoDB配置的
dbPath一致,如/var/lib/mongo):tar -xzvf mongodb_data.tar.gz -C /var/lib/mongo --strip-components=1 - 设置目录权限并启动服务:
chown -R mongod:mongod /var/lib/mongo systemctl start mongod
- 解压到目标数据目录(需与目标MongoDB配置的
四、迁移后验证
-
检查数据库列表
登录目标MongoDB,确认目标数据库存在:mongo -u-p --authenticationDatabase admin show dbs; -
验证数据完整性
查询目标数据库中的集合和文档数量(替换和):useshow collections; db. .countDocuments();
五、注意事项
- 版本兼容性:源与目标MongoDB版本差异过大(如3.x→6.x)可能导致数据格式不兼容,建议使用相同主版本。
- 数据一致性:迁移前停止源数据库写入(如业务低峰期操作),避免数据丢失。
- 权限管理:确保目标数据库用户具有足够的权限(如
readWrite、dbOwner)。 - 日志排查:若迁移失败,查看源/目标MongoDB日志(
/var/log/mongodb/mongod.log)定位问题。
以上就是关于“mongodb数据迁移centos上如何操作”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm