范戴克 發表於 2025-1-7 08:30:05

mongodb数据迁移详细步骤(亲测成功!)

<p>mysql进行数据迁移,最简单的不过是导出sql,然后在运行sql,数据也自然迁移过去了。</p>
<p>可是mongodb里,我们存储的是文件,是怎么做到的呢,当我在翻阅网上博客的时候,并没有发现有这方面的顾虑。</p>
<p>当我本地自测过程中(本地一个数据库的gridFS下的文件,迁移到另一个数据库时),有权限方面的问题,比如我的账号好像只能读取固定某一个数据库下的数据,</p>
<p>我是嫌麻烦,所以弄了一个超级管理员账号,当然如果你的账号能够访问数据库,可以不需要创账号了,直接向下翻到正文。</p>
<p>如下图,2数据库,我可以正常上传文件,但是新建的demo1数据库,提示我无权限。</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202501/202501070825311.png" /></p>
<p>我干脆就新建了一个超级管理员账户,在目录窗口输入cmd</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202501/202501070825312.png" /></p>
<p>输入mongo,再输入use admin,</p>
<p>然后输入db.createUser({user:&quot;usename&quot;,pwd:&quot;password&quot;,roles:[{role:&quot;root&quot;,db:&quot;admin&quot;}]})</p>
<p>记得修改usename为你的用户名,password为你的密码。</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202501/202501070825313.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202501/202501070825314.png" /></p>
<p>能够看到创建成功,然后我本地试了这个账号,在两个数据库都可以上传文件。</p>
<p>本地和服务器上的账号密码是一样的,最终实现本地数据库的数据迁移到云服务器上的数据库。</p>
<p><strong>正文开始,开始迁移。</strong>我测试的使用的是windows</p>
<p>需要下载&nbsp;<a href="https://www.mongodb.com/try/download/database-tools" rel="external nofollow" target="_blank">Download MongoDB Command Line Database Tools | MongoDB</a>&nbsp;</p>
<p>等下会使用到,下载安装到一个目录下</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202501/202501070825315.png" /></p>
<p>再配置到环境变量path下</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202501/202501070825316.png" /></p>
<p>准备工作完成,只需要两步命令即可!</p>
<p>第一步:备份到本地!</p>
<p>第二步:恢复到服务器!</p>
<p>第1步,先备份到本地</p>
<p>cmd打开窗口</p>
<blockquote><p>&nbsp;mongodump --db demo1 --out C:\Users\Administrator\Desktop\mongodb迁移 -u superAdmin -p 123456 --authenticationDatabase admin</p></blockquote>
<p>解释:demo1:是想要备份的数据库名称&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C:\Users\Administrator\Desktop\mongodb迁移:是把数据库备份到本地地址</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;superAdmi:是我的账号名称</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;123456:是我的账号密码</p>
<p>第一步完成</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202501/202501070825317.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202501/202501070825318.png" /></p>
<p>第2步,把导出的这个demo1文件夹拷贝到目标服务器上,我的目标服务器也是windows 同样需要下载Download MongoDB Command Line Database Tools | MongoDB,前面下载配置流程同理即可。</p>
<p>在目标服务器,cmd窗口,输入<br />mongorestore --db target C:\Users\Administrator\Desktop\demo1 -u superAdmin -p 123456&nbsp;--authenticationDatabase admin</p>
<p>解释:target:是目标服务器的mongodb下的数据库(也就是想把数据迁移到哪个库里)</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;C:\Users\Administrator\Desktop\demo1:告诉目标服务器,从哪个文件夹获取数据(也就是先前导出的文件夹拷贝到云服务器某一目录下)</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;superAdmin:目标服务器的mongodb 用户的账号名称</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;123456:目标服务器的mongodb 用户的账号密码</p>
<p>目标服务器上的操作</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202501/202501070825329.png" /></p>
<p>最后navicat 连接服务器上的mongodb,能够看到迁移的数据。</p>
<p><strong>总结</strong></p>
頁: [1]
查看完整版本: mongodb数据迁移详细步骤(亲测成功!)