暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

三、MongoDB 备份与还原

我的技术人生 2021-05-11
969
为什么需要备份与还原?在实际项目中,存在许多种情况,比如:服务器更换、MongoDB升级等,此时就需要将历史数据进行备份,然后在还原到新的服务器或升级后的MongoDB上。可以使用MongoDB DataBase Tools 的mongodump 来备份 和 mongorestore来还原。

1、备份

首先,登录要备份的服务器。

然后,直接执行以下命令:

    mongodump -h dbhost -d dbname -o dbdirectory


    例如:mongodump -h 192.168.11.56 -d yzfile -o /app/mongodump/
    参数说明:

                -h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

                -d:需要备份的数据库实例,例如:test

                -o:备份的数据存放位置,例如:/app/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。


    运行结果如下:


    2、还原

    将备份后的文件复制到要升级的服务器B,如果是升级MongoDB则不用此步骤

      scp -r yzfile root@192.168.11.xx:/app/mongodump


      然后,执行以下命令:
        mongorestore -h dbhost -d dbname --dir dbdirectory


        例如:mongorestore -h 192.168.11.xx -d yzfile --dir /app/data/mongodump/yzfile/
        参数说明:

                    -h:MongoDB所在服务器地址

                    -d:需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2

                    --dir:数据位置, yzfile 是文件名称, 例如:/app/mongodump/yzfile/

                    --drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!


        运行结果如下:


        3、说明

        3.1 mongodump 和  mongorestore 不是MongoDB服务端自带的,需要额外安装MongoDB DataBase Tools才可以。下载解压后,可直接将MongoDB DataBase Tools bin目录下的可执行文件直接复制到MongoDB的bin目录下。

        3.2 在导入的时候,dbdirectory 需要包含要导入的文件名,而不只是路径。

        文章转载自我的技术人生,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论