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

mongodb 数据迁移,亲测成功!

mysql进行数据迁移,最简单的不过是导出sql,然后在运行sql,数据也自然迁移过去了。

可是mongodb里,我们存储的是文件,是怎么做到的呢,当我在翻阅网上博客的时候,并没有发现有这方面的顾虑。

当我本地自测过程中(本地一个数据库的gridFS下的文件,迁移到另一个数据库时),有权限方面的问题,比如我的账号好像只能读取固定某一个数据库下的数据,

我是嫌麻烦,所以弄了一个超级管理员账号,当然如果你的账号能够访问数据库,可以不需要创账号了,直接向下翻到正文。


如下图,2数据库,我可以正常上传文件,但是新建的demo1数据库,提示我无权限。

我干脆就新建了一个超级管理员账户,在目录窗口输入cmd

输入mongo,再输入use admin,
然后输入db.createUser({user:"usename",pwd:"password",roles:[{role:"root",db:"admin"}]})
记得修改usename为你的用户名,password为你的密码。

能够看到创建成功,然后我本地试了这个账号,在两个数据库都可以上传文件。

本地和服务器上的账号密码是一样的,最终实现本地数据库的数据迁移到云服务器上的数据库。

正文开始,开始迁移。
我测试的使用的是windows

需要下载 Download MongoDB Command Line Database Tools | MongoDB 

等下会使用到,下载安装到一个目录下

再配置到环境变量path下

准备工作完成,只需要两步命令即可!

第一步:备份到本地!

第二步:恢复到服务器!

第1步,先备份到本地

cmd打开窗口

 mongodump --db demo1 --out C:\Users\Administrator\Desktop\mongodb迁移 -u superAdmin -p 123456 --authenticationDatabase admin

解释:demo1:是想要备份的数据库名称 
           C:\Users\Administrator\Desktop\mongodb迁移:是把数据库备份到本地地址

           superAdmi:是我的账号名称
           123456:是我的账号密码

第一步完成


第2步,把导出的这个demo1文件夹拷贝到目标服务器上,我的目标服务器也是windows 同样需要下载Download MongoDB Command Line Database Tools | MongoDB,前面下载配置流程同理即可。

在目标服务器,cmd窗口,输入
mongorestore --db target C:\Users\Administrator\Desktop\demo1 -u superAdmin -p 123456 --authenticationDatabase admin

解释:target:是目标服务器的mongodb下的数据库(也就是想把数据迁移到哪个库里)
          C:\Users\Administrator\Desktop\demo1:告诉目标服务器,从哪个文件夹获取数据(也就是先前导出的文件夹拷贝到云服务器某一目录下)

           superAdmin:目标服务器的mongodb 用户的账号名称

           123456:目标服务器的mongodb 用户的账号密码

目标服务器上的操作

最后navicat 连接服务器上的mongodb,能够看到迁移的数据。

http://www.lryc.cn/news/457948.html

相关文章:

  • 如何使用ssm实现疫情居家办公OA系统
  • 深入了解 MySQL 中的 JSON_CONTAINS
  • 宝藏推荐:精选十款知识库搭建软件
  • go语言接口设计三国人物
  • day-63 优质数对的总数 II
  • 基于 Prometheus+Grafana+Alertmanager 搭建 K8S 云监控告警平台(附配置告警至QQ、钉钉)
  • C++ | Leetcode C++题解之第461题汉明距离
  • ElasticSearch备考 -- Update by query Reindex
  • 从认识String类,到走进String类的世界
  • Vue入门-指令修饰符-@keyup.enter
  • 【Kubernetes】常见面试题汇总(五十九)
  • 【ARM Linux驱动开发】嵌入式ARM Linux驱动开发基本步骤
  • SpinalHDL之设计错误(Design Errors)(一)
  • QT + opengl 让2d贴图动起来
  • 【selenium】webdriver测试脚本
  • 工业自动化中的关键信号:开关量、模拟量与脉冲量
  • VMware vCenter Server 8.0U3c 发布下载,修复 U3b 更新停止响应的问题
  • Java面试宝典-Java集合02
  • HJ212-2017协议详解:工业物联网环境监测标准简单了解
  • 【Golang】Go语言Seeker接口与文件断点续传实战
  • 【MySQL】基本查询(下):更新、删除
  • django urlconf路由分发
  • The 2024 ICPC Kunming Invitational Contest K. Permutation(交互 期望)
  • TensorFlow与Pytorch的转换——1简单线性回归
  • 短剧小程序短剧APP在线追剧APP网剧推广分销微短剧小剧场小程序集师知识付费集师短剧小程序集师小剧场小程序集师在线追剧小程序源码
  • AI与物理学的交汇:Hinton与Hopfield获诺贝尔物理学奖
  • 六西格玛设计DFSS方法论在消费级无人机设计中的应用——张驰咨询
  • 按分类调用标签 调用指定分类下的TAG
  • 报错 - llama-index pydantic error | arbitrary_types_allowed | PydanticUserError
  • PostgreSQL Docker Error – 5432: 地址已被占用