当前位置: 首页 > news >正文

电大形考任在哪个网站做宁德市住房和城乡建设局网站打不开

电大形考任在哪个网站做,宁德市住房和城乡建设局网站打不开,广东网站建设服务,响应式布局有几种方法前言 大家好,我是一诺。今天分享一个实用的 MongoDB 数据库迁移方案~ 下班随手拍的夕阳🌇照片,感觉挺好看的,在北京的朋友,能猜到这是哪儿嘛 作为一个程序员,你一定遇到过这样的困扰: &#x1…

前言

大家好,我是一诺。今天分享一个实用的 MongoDB 数据库迁移方案~

下班随手拍的夕阳🌇照片,感觉挺好看的,在北京的朋友,能猜到这是哪儿嘛

作为一个程序员,你一定遇到过这样的困扰:

  • 🤔 本地调试时:测试数据太假,没法复现线上问题
  • 😅 新同事入职时:环境搭建半天,数据准备一天
  • 😰 数据库升级前:心里没底,想先备份一下
  • 🔄 多环境协作时:开发、测试、生产数据不同步

怎么办呢?咱们使用 MongoDB 官方工具完成数据迁移,包括备份、传输和恢复的完整流程。

🗺️ 完整迁移流程图

1、数据恢复与验证

2、本地环境准备

3、数据恢复与验证

基本原理:两个工具搞定一切

MongoDB 官方提供了一对好兄弟:

mongodump   ←→   mongorestore备份              恢复

原理很简单:

  1. mongodump 把数据库内容导出为 BSON 文件
  2. mongorestore 把 BSON 文件导入到新环境

就像搬家一样,先打包,再搬运,最后拆包。

🔄 数据流转示意图

第一步:在服务器上备份数据

连接服务器

ssh username@your-server-ip

最简单的备份命令

如果你的 MongoDB 没有设置密码(仅限内网环境):

# 备份单个数据库
mongodump --db your_database_name --out /tmp/backup# 备份所有数据库  
mongodump --out /tmp/backup

有密码的情况

生产环境通常都有密码保护:

mongodump \--host localhost \--port 27017 \--username your_username \--password your_password \--authenticationDatabase admin \--db your_database_name \--out /tmp/backup

小贴士:可以不写 --password 的值,命令会提示你输入,这样更安全。

备份参数速查表

记不住那么多参数?这个表格帮你快速查找:

场景参数组合说明
本地数据库--db dbname --out /backup最基础用法
远程数据库--host 192.168.1.100 --port 27017指定服务器
需要认证--username user --password pwd --authenticationDatabase admin生产环境常用
压缩备份--gzip节省空间
单个文件--archive=backup.archive方便传输
部分数据--query '{"status":"active"}'只备份活跃数据

完整参数说明

点开查看 ### 打包下载 备份完成后,打包并下载:
# 打包(带时间戳)
tar -czf mongodb_backup_$(date +%Y%m%d_%H%M).tar.gz /tmp/backup# 下载到本地
scp username@server:/tmp/mongodb_backup_*.tar.gz ./

第二步:准备本地环境

安装 MongoDB

如果还没安装,先安装 MongoDB Community Edition。

重要:安装数据库工具

这里会遇到一个常见问题:新版MongoDB不再包含数据库工具包

问题现象

当你尝试使用mongorestore命令时,可能会遇到以下错误:

‘mongorestore’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。‘mongodump’ 不是内部或外部命令,也不是可运行的程序 或批处理文件

解决方案

这是因为MongoDB 4.4版本之后,官方将数据库工具包单独分离了。我们需要额外下载安装。

步骤1:下载工具包

访问MongoDB官方工具包下载页面:
Download MongoDB Command Line Database Tools

根据你的操作系统选择对应版本。Windows用户选择msi版本:

步骤2:正确安装

⚠️ 重要提醒:工具包必须安装在MongoDB的安装目录下,否则无法正常使用。

  • 如果MongoDB安装在C盘,工具包也要安装在C盘对应目录
  • 如果MongoDB安装在D盘,工具包也要安装在D盘对应目录

正确的安装目录示例:

建议:在系统变量中添加 MongoDB tools的目录,如下图

第三步:恢复数据到本地

解压备份文件

tar -xzf mongodb_backup_20250101_1430.tar.gz

启动本地 MongoDB

# Windows
net start MongoDB# macOS/Linux  
sudo systemctl start mongod

执行恢复

最简单的方式:

# 恢复单个数据库
mongorestore --db new_database_name /path/to/backup/old_database_name# 恢复全部数据库
mongorestore /path/to/backup

如果要覆盖现有数据:

mongorestore --drop --db target_db /path/to/backup/source_db

恢复参数速查表

场景参数组合说明
基础恢复--db dbname /backup/source恢复到指定数据库
覆盖数据--drop先删除现有数据
模拟运行--dryRun看看会做什么,不实际执行
压缩文件--gzip处理压缩备份
归档文件--archive=backup.archive从单文件恢复
重命名库--db new_name /backup/old_name恢复时改名

完整参数说明

点我查看

基础操作:

  • --db:目标数据库名(可与源不同)
  • --collection:目标集合名
  • --drop:恢复前删除现有数据
  • --dryRun:模拟运行,查看操作但不执行

数据筛选:

  • --nsInclude:包含的命名空间,如 "myapp\.(users|orders)"
  • --nsExclude:排除的命名空间,如 "myapp\.(logs|temp.*)"

性能调优:

  • --numParallelCollections:并行恢复数量
  • --numInsertionWorkers:每集合的插入线程数
  • --batchSize:批量插入大小,默认 100

索引处理:

  • --noIndexRestore:跳过索引,提高速度
  • --noOptionsRestore:跳过集合选项
## 实战场景 不同的需求场景,选择不同的策略。这个决策树帮你快速选择最佳方案:

🌳 场景选择决策树

场景一:快速搭建开发环境

# 服务器端:快速备份(压缩)
mongodump --db production --gzip --out /tmp/dev_backup# 本地:快速恢复(跳过索引)
mongorestore --db dev_env --noIndexRestore --gzip /backup/production

场景二:部分数据同步

# 只同步活跃用户数据
mongodump --db userdb --collection users \--query '{"lastLogin":{"$gte":"2024-01-01"}}' \--out /backup# 恢复到测试环境
mongorestore --db test_userdb /backup/userdb

场景三:数据库重命名迁移

# 备份原数据库
mongodump --db old_project --out /backup# 恢复为新名称
mongorestore --db new_project /backup/old_project

验证和检查

恢复完成后,看到这样的输出就说明成功了:

finished restoring myapp.users (1000 documents, 0 failures)
finished restoring myapp.orders (500 documents, 0 failures)
done

恢复成功后,你会看到类似的输出信息:

使用MongoDB客户端工具(如MongoDB Compass)连接数据库,验证数据是否导入成功:

常见问题解决

遇到问题不要慌,按照这个流程图一步步排查:

🔧 问题排查流程图

问题 1:找不到命令

现象: 'mongorestore' 不是内部或外部命令

解决:

  1. 确认已安装 MongoDB Database Tools
  2. 检查环境变量 PATH
  3. 重启命令行工具

仍然找不到命令怎么办?

如果执行命令仍然提示 ‘mongorestore’ 不是内部或外部命令

建议检查下系统变量,将工具目录添加至环境变量

问题 2:连接失败

现象: Failed to connect to localhost:27017

解决:

# 检查服务状态
mongo --eval "db.adminCommand('ismaster')"# 检查端口占用
netstat -an | grep 27017

问题 3:磁盘空间不足

现象: 恢复过程中报空间不足

解决:

# 检查空间
df -h# 清理临时文件
rm -rf /tmp/backup_*

问题 4:权限错误

现象: Permission denied

解决:

# 使用管理员权限
sudo mongorestore --db myapp /backup/myapp# 或修改文件权限
chmod -R 755 /backup

写在最后

咱们总结一下,一共四点:

  1. 工具包必须正确安装在MongoDB目录下 - 这是最容易踩的坑
  2. 备份前确认数据库连接正常 - 避免白忙一场
  3. 恢复前确保本地MongoDB服务运行正常 - 基础环境要准备好
  4. 注意数据安全和隐私保护 - 生产数据脱敏后再用于开发

MongoDB 数据迁移本身不复杂,但魔鬼在细节中。掌握了这些方法和技巧,数据迁移将不再是难题。

我是一诺,希望这篇教程对你有所帮助~

 

http://www.dtcms.com/a/425408.html

相关文章:

  • 网站建设与网页设计制作学动漫有什么出路
  • 如何免费建设网站com最新清远发布
  • 山西响应式网站建设设计企业产品展示网站源码
  • 云龙网站开发廊坊网站制作系统
  • 低价高端网站设计瓦力工厂少儿编程加盟
  • 网站开发 写文档制作网站软件教程
  • 外包建设网站数据中台建设
  • 网站建设中间件收费专门做选择题的网站
  • 简述网站开发的过程长沙网站建设找哪家
  • WordPress网站生成小程序天津网站建设网络公司
  • 手机壁纸网站源码seo专家招聘
  • 顺德门户网站建设公司沛县网站制作
  • 网站建设一条龙包括哪些服务西安建筑科技大学就业信息网
  • 网站首页的模块布局网站运营与建设
  • 哪些网站可以做驾考试题cms做网站
  • 电子商务网站建设合同标准范文安卓手机app开发工具软件
  • 小程序联盟商家版福州网seo
  • 软件园做网站杨凌企业网站开发
  • 做网站赚钱的点在哪里成都建站优化公司
  • 贵州软件开发 网站开发营销型网站制作流程
  • 做网站 收费网页类网站
  • wordpress子站点打不开商丘网站建设费用
  • 创业网站建设规划书宣传片拍摄思路怎么写
  • 第一次做网站程序开发公司名大全
  • 镇江建设银行网站成都 建设网站
  • 京东网站怎么做凡科建站源码
  • 杭州网站运营中国室内设计
  • 手机参数对比的网站中小型网站建设平台
  • 行业网站建设详解网站开发 流程图
  • 企业公示信息查询系统吉林小红书seo排名