高性能可扩展mysql(数据库备份)

时间:2022-11-11 19:48:16
  • 数据库备份
    -按备份结果分
    • 逻辑备份
    • 物理备份
      • 按备份数据库分

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)
高性能可扩展mysql(数据库备份)

逻辑备份通常是可读的,一般表现为建立数据库的库表,和对象的SQL,以及存储sql语句的数据集。对于MyISAM来说,会发生锁表。mysqldump就是例子

物理备份通常快一点。离线备份,在线备份(PERCONA的XtraBackup)。
mysqldump不支持增量备份,只能通过备份mysql的二级备份日志而实现
进行时间点的备份,都需要mysql的二进制日志的备份

mysqldump

语法

高性能可扩展mysql(数据库备份)

参数

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)
如果备份的数据库包涵存储过程,触发器和数据库调度事件时,则用到如下参数

–hex-blob对 BINARY, VARBINARY, the BLOB types, and BIT.等类型的列转码
https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_hex-blob

高性能可扩展mysql(数据库备份)

备份管理员

高性能可扩展mysql(数据库备份)

备份数据库

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

备份单个表

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

全量备份(系统数据库+其他数据库)

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

–tab备份

需要目录具有可写权限,所以使用tmp目录
向系统写数据,需要文件权限 grant file on . to ‘backup’@’localhos’;
chown mysql:mysql mc_orderdb
.sql文件是保存表结构,.txt文件是记录了表的数据

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

mysqldump全备Where及脚本备份

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

mysqldump恢复

高性能可扩展mysql(数据库备份)

误删除全备恢复

查询出两表差异的数据,查询完数据然后把它插入到原来的库中

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

-tab 恢复

-tab有一个好处,如果只需要恢复一个数据表的数据,那么时间成本大大减少

region_info为例
source /tmp/mc_order/region_info.sql; 建立数据表的结构
load data infile '/tmp/mc_order/region_info.txt' into table region_info; 导入数据

指定时间点恢复

高性能可扩展mysql(数据库备份)

建立统计表,统计每个用户消费金额
删除数据,假设误操作
需求:如何恢复?

  • 全备,查看二进制日志名和时间点
  • 分析二进制日志,查看DELETE操作的时间点
  • 备份在两点日志点之间的日志信息,导入

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

实时二进制日志备份(>5..6)

高性能可扩展mysql(数据库备份)

XtraBackup备份和恢复

XtraBackup更适用于InnoDB(物理备份)
备份过程中,不会影响表的读写操作
只会备份数据文件,而不会备份表的结构

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)

高性能可扩展mysql(数据库备份)