前言:MySQL备份方法有很多种,物理备份,逻辑备份,冷备,热备,完全备份,增量备份,差异备份,因此要根据生产实际情况,选择合适的备份方式

  • 物理备份

    • 冷备:cp ,tar,…

      缺点

      —— 跨平台性差
      —— 备份时间长,冗余备份,浪费存储空间

  • 逻辑备份

    • mysqldump //备份命令
    • mysql //恢复命令
  • 完全备份
    • 备份所有数据
  • 增量备份
    • 备份上次备份后,新产生的数据
  • 差异备份
    • 完全备份后,所有新产生的数据

mysqldump工具(逻辑备份,全量备份(备份后空间约占原来ibd使用空间的40%))

相对于物理备份,cp或tar,mysqldump属于逻辑备份,逻辑备份相较于物理备份来说兼容性好,物理备份往往因为mysql版本或者跨平台一些原因可能会导致数据不一定能恢复

mysqldump缺点
  • 效率低.备份和还原速度慢,锁表
  • 备份过程中,数据插入和更新被阻塞

完全备份及恢复
  • 完全备份

    1. ]#mysqldump -uroot -p密码 库名 > 目录/xxx.sql //单个库
    2. ]#mysqldump -uroot -p密码 -A或--all-database > 目录/allbak.sql //所有库
    3. ]#mysqldump -uroot -p密码 -B 数据库1 数据库2 ... > 目录/xxx.sql //多个库
    4. ]#mysqldump -uroot -p密码 库名 表名 > 目录/xxx.sql //某个库里的单张表
  • 完全恢复

    1. ]# mysql -uroot -p密码 [库名] < 目录/xxx.sql //若库不存在需要手动先将空库创建出来
    2. //若是恢复表无论数据库里有无这张表都无关(可以恢复单张表或多表,都是此格式,恢复内容取决于备份时数据)

binlog日志(增量备份实时备份)

  • 什么是binlog日志
  1. 也叫做 二进制日志
  2. mysql服务日志的一种
  3. 记录除查询之外的所有sql
  4. 可用于数据的备份和恢复
  5. 是配置mysql主从同步的必要 条件

XtraBacKup工具

  • 强大的在线热备工具
  • 备份过程不锁表,适合生产环境
  • 兼容完全备份,增量备份