zoukankan      html  css  js  c++  java
  • MongoDB学习总结(六) —— 数据库备份和恢复

     

     我们都知道数据库数据经常备份是多么的重要,MongoDB作为一个数据库系统,自然提供了完善,丰富而且好用的备份与恢复机制。

     以下介绍三种数据库备份和恢复的方式

    > 数据目录直接拷贝

     数据库目录直接拷贝意思就是将--dbpath指定的数据库目录复制一份。

     要注意的是这种方式在服务器运行状态中复制,无法保证数据的完整性,所以如果使用这种方式,最好是暂时关闭服务器,拷贝完成后再重新启动。

    > 利用 mongodumpmongorestore

     mongodump命令和mongorestore命令能够在服务器运行的状态下进行备份和恢复。

    下面来看看他们的基本用法。

     备份(mongodump

     参数说明:-d 指定要导出的数据库,-o指定导出路径

     

     

     我们看到数据成功备份到指定目录中。

     

     恢复mongorestore

     参数说明:-d指定要恢复的数据库,--drop指名如果有同名集合先将其删除再导入,如果不用该选项,会进行合并。

     

     虽然使mongodump可以不用停机备份,但其也有一个缺点,就是无法备份实时数据,尤其当数据库服务在进行大量的写操作时

     

    > fsync + lock

     通过fsync+lock可以在服务器运行时,安全有效地使用复制数据目录的方式进行备份

     fsync命令会强制服务器将所有缓冲区内容写入到磁盘通过 lock上锁的方式阻止数据库的进行写入

     注意此命令需要在admin数据库下进行。

     

     这时候我们使用复制数据目录的方式进行备份,备份后我们需要进行解锁。

     

     通过fsync和写入锁的使用,不用停止数据库服务,可以非常安全地备份实时数据。但其弊端就是,在备份期间,数据库的写操作请求会阻塞。

     

     

  • 相关阅读:
    Bootstrap 2.2.2 的新特性
    Apache POI 3.9 发布,性能显著提升
    SQL Relay 0.48 发布,数据库中继器
    ProjectForge 4.2.0 发布,项目管理系统
    红帽企业 Linux 发布 6.4 Beta 版本
    红薯 快速的 MySQL 本地和远程密码破解
    MariaDB 宣布成立基金会
    Percona XtraBackup 2.0.4 发布
    Rocks 6.1 发布,光盘机群解决方案
    精通Servlet研究,HttpServlet的实现追究
  • 原文地址:https://www.cnblogs.com/mejoy/p/6039516.html
Copyright © 2011-2022 走看看