Mysql备份

Mysql备份
了解备份方式
热备份:读写不受影响(mysqldump–>innodb)
温备份:仅可以执行读操作(mysqldump–>myisam)
冷备份:离线备份,读写都不可用
逻辑备份:将数据导出文本文件中(mysqldump)
物理备份:将数据文件拷贝(xtrabackup、mysqlhotcopy)
完整备份:备份所有数据
增量备份:仅备份上次完整备份或增量备份以来变化的数据
差异备份:仅备份上次完整备份以来变化的数据

Xtrabackup常用参数
–user= #指定数据库备份用户
–password= #指定数据库备份用户密码
–port= #指定数据库端口
–host= #指定备份主机
–socket= #指定socket文件路径
–databases= #备份指定数据库,多个空格隔开,如–databases=“dbname1 dbname2”,不加备份所有库
–defaults-file= #指定my.cnf配置文件
–apply-log #日志回滚
–incremental= #增量备份,后跟增量备份路径
–incremental-basedir= #增量备份,指上次增量备份路径
–redo-only #合并全备和增量备份数据文件
–copy-back #将备份数据复制到数据库,数据库目录要为空
–no-timestamp #生成备份文件不以时间戳为目录名
–stream= #指定流的格式做备份,–stream=tar,将备份文件归档
–remote-host=user@ip DST_DIR #备份到远程主机

1.创建备份用户
GRANT SELECT, RELOAD, LOCK TABLES, REPLICATION CLIENT, SHOW VIEW, TRIGGER
ON . to ‘bak’@’localhost’ identified by ‘123’;
2.用xtrabackup工具备份
优势:
1、快速可靠的进行完全备份
2、在备份的过程中不会影响到事务
3、支持数据流、网络传输、压缩,所以它可以有效的节约磁盘资源和网络带宽。
4、可以自动备份校验数据的可用性。
2、安装 www.percona.com
在这里插入图片描述
rpm -ivh percona-xtrabackup-20-2.0.8-587.rhel6.x86_64.rpm
3.在配置文件里边的mysqld段加上, 支持单表的备份与恢复
innodb_file_per_table = 1
在这里插入图片描述
4.完全备份
准备个目录用于存放备份数据
mkdir /innobackup
在这里插入图片描述
innobackupex --user=bak --password=123 /innobackup/
在这里插入图片描述
注:
在最后一行显示 innobackupex: completed OK!,就说明你的备份是正确的
注意的是每次备份之后,会自动在数据目录下创建一个以当前时间点命名的目录用于存放备份的数据
在这里插入图片描述
5.增量备份
innobackupex --user=bak --password=123 --incremental /innobackup/ --incremental-basedir=/innobackup/2019-04-21_07-36-57/
–incremental 指定备份类型

–incremental-basedir在这里插入图片描述= 指定这次增量备份是基于哪一次备份的,这里是完全备份文件,这样可以把增量备份的数据合并到完全备份中去

第二次增量备份
innobackupex --user=bak --password=123 --incremental /innobackup/ --incremental-basedir=/innobackup/2019-04-21_07-46-23/
在这里插入图片描述
这里只须要把最后的目录改为第一次增量备份的数据目录即可

6.恢复前准备
#xtrabackup把备份过程中可能有尚未提交的事务或已经提交但未同步数据文件的事务,写到xtrabackup_logfile文件,所以要先通过这个日志文件回滚,把未完成的事务同步到备份文件,保证数据文件处于一致性。
对完全备份做数据同步
innobackupex --apply-log --redo-only /innobackup/2019-04-21_07-36-57/
在这里插入图片描述

对第一次增量做数据同步
innobackupex --apply-log --redo-only /innobackup/2013-09-12_11-03-04/ --incremental-basedir=/innobackup/2013-09-12_11-37-01/
在这里插入图片描述
–apply-log 的意义在于把备份时没commit的事务撤销,已经commit的但还在事务日志中的应用到数据库

预处理的过程:

首先对完全备份文件只把已提交的事务同步至数据文件,要注意的是有增量的时候,不能对事务做数据回滚,不然你的增量备份就没有效果了。

然后把第一次的增量备份合并到完全备份文件内,

以此类推,把后几次的增量都合并到前一次合并之后的文件中,这样的话,我们只要拿着完全备份+二进制日志,就可以做时间点恢复

7.数据恢复
service mysqld stop
rm -rf * 模拟数据库崩溃

在这里插入图片描述在这里插入图片描述
–copy-back数据库恢复,后面跟上备份目录的位置

8.查看

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值