Mysql 常用管理SQL语句(学习笔记五)

  1. 云栖社区>
  2. 博客>
  3. 正文

Mysql 常用管理SQL语句(学习笔记五)

sktj 2018-05-21 12:07:00 浏览403
展开阅读全文
img_be974fcce84a0d08ab084cc1f303da15.png
img_4637e89a30d1ae6df49384dacf3fd23a.png
img_52024bbd2415028c0f3d70bf33600454.png
img_9e4222d41ecf5cb1c59db820b90745cf.png
img_ee70d103157ce07892528903953b84aa.png
img_e1e25f58f89dc4d0b8db3135196e843c.png
img_75904cd66d09f2522892d49390c4794f.png


XTRABACKUP备份恢复

常用工具及用法 - xtrabackup

特点: 

* 开源,在线备份InnoDB表 

* 支持限速备份,避免对业务造成影响 

* 支持流备 

* 支持增量备份 

* 支持备份文件压缩与加密 

* 支持并行备份与恢复,速度快

xtrabackup备份原理

基于InnoDB的crash-recovery功能

备份期间允许用户读写,写请求产生redo日志

从磁盘上拷贝数据文件

从InnoDB redo log file实时拷贝走备份期间产生的所有redo日志

恢复的时候 数据文件 + redo日志 = 一致性数据

实用脚本innobackupex

开源Perl脚本,封装调用xtrabackup及一系列相关工具与OS操作,最终完成备份过程

支持备份InnoDB和其他引擎的表

备份一致性保证

innobackupex备份基本流程

start xtrabackup_log -> copy .ibd; ibdata1 -> FLUSH TABLE WITH READ LOCK -> copy .FRM; MYD; MYI; misc files -> Get binary log position -> UNLOCK TABLES -> stop and copy xtrabackup_log

innobackupex使用

主要示例:

全量备份

innobackupex --user=root --password=123456--defaults-file=/etc/mysql/my.cnf /dbbackup

1

增量备份

innobackupex --user=root --password=123456--defaults-file=/etc/mysql/my.cnf --incremental --incremental-dir /dbbackup/2016-4-3_13:24:32/dbbackup

1

流方式备份

innobackupex --user=root --password=123456--defaults-file=/etc/mysql/my.cnf --stream=xbstream /dbbackup/ > /dbbackup/stream.bak

1

并行备份

innobackupex --user=root --password=123456--defaults-file=/etc/mysql/my.cnf --parallel=4/dbbackup/

1

限流备份

innobackupex --user=root --password=123456--defaults-file=/etc/mysql/my.cnf --throttle=10/dbbackup/

1

压缩备份

innobackupex --user=root --password=123456--defaults-file=/etc/mysql/my.cnf --compress --compress-thread4/dbbackup/

1

如何制定备份策略

需要考虑的因素

数据库是不是都是innodb引擎表 -> 备份方式,热备or冷备

数据量大小 -> 逻辑备份or物理备份,全量or增量

数据库本地磁盘空间十分充足 -> 备份到本地or远程

需要多块恢复 -> 备份频率 小时or天

网友评论

登录后评论
0/500
评论
sktj
+ 关注