zoukankan      html  css  js  c++  java
  • 数据库备份与恢复(Mysql)

    Mysql备份种类可以分为两种:完全备份和增量备份

    完全备份:对某一个时间点上的所有数据或应用进行的一个完全复制。

    增量备份:指在一次全备份上或上一次增量备份后,以后每次的备份只需备份与前次相比增加或被修改的binlog文件。这就意味着第一次增量备份的对象是进行全备后又增加和修改的binlog文件。第二次增量备份的对象是进行第一次增量备份后所增加和修改的binlog文件。

    按照备份方式可分为三种:冷备份、热备份和逻辑备份

    冷备份:此时数据库处于关闭状态,能够较好地保证数据库的完整性

    热备份:数据库正处于运行状态,这种备份方法依赖于数据库的日志文件

    逻辑备份:使用mysqldump命令从数据库中提取数据,并将结果写到一个文件上,文件内容为纯文本的sql语句

    细说各种备份:

    冷备份:一般用于非核心业务,这类业务一般都允许中断,冷备份的特点是速度快,恢复也最为简单。通过直接复制物理文件来实现冷备份

    逻辑备份:一般用于数据迁移或者数据量很小时,逻辑备份采用的是数据导出的备份方式

    1)导出所有的数据库

    mysqldump -q --single-transaction -A > all.sql

    2)如果只是导出其中的某几个数据库,则采用如下命令

    mysqldump -q single-transaction -B test1 test2 >test1_test2.sql

    3)只需要导出表结构的时候,采用如下命令

    mysqldump -q -d --skip-triggers

    4)只需要导出存储过程的时候

    mysqldump -q -Rtdn --skip-triggers

    5)只需要导出触发器

    mysqldumo -q -tdn --triggers

    6)只需要导出事件

    mysqldump -q -Etdn --skip-triggers

    7)只需要导出数据时

    mysqldump -q -single-transaction --skip-triggers -t

    8)要想在线建立一台新的slave

    mysqldump -q --single-transaction --master-data=2 -A > all.sql

    附加:mysqldumo增加了一个重要参数

    在mysql5.5里,新增加了一个重要参数,即--dump-slave,使用该参数化可在slave端dump数据,建立新的slave,其目的就是为了防止对主库造成过大压力。

    取代mysqldump的新工具Mysqldumper

    mysqldumper的主要特性包括:

    相比于mysqldump,其速度快了近10倍

    具有事务性和非事务性表一致的快照

    可快速进行文件压缩

    支持导出binlog

    可多线程恢复

    可以用于守护进程的工作方式,定时扫描和输出连续的二进制日志

  • 相关阅读:
    redis应用场景
    redis 持久化
    vue.jsv-if 的key值问题
    laravel 上线注意事项 (ubuntu lamp)
    laravel 不同表用户登录,后台跳转问题
    Laravel 5.5 不同用户表登录认证(前后台分离)
    记录laravel 数据填充问题
    Git 版本控制器详解
    Ubuntu Apache多站点配置
    Spring的注解@Qualifier小结
  • 原文地址:https://www.cnblogs.com/uglyliu/p/6116174.html
Copyright © 2011-2022 走看看