备份:能够防止由于机械故障以及人为误操作带来的数据丢失.。
MySQL 备份类型
物理备份 逻辑备份

1、ibbackup

  • 官方备份工具
  • 收费
  • 物理备份

2、xtrabackup

  • 开源社区备份工具
  • 开源免费,上面的免费版本(老版本有问题,备份出来的数据可能有问题)
  • 物理备份

3、mysqldump

  • 官方自带备份工具 开源免费
  • 逻辑备份(速度慢)

4、mysqlbackup

  • mysql 官方备份工具
  • innodb 引擎的表mysqlbackup可以进行热备
  • 非innodb表mysqlbackup就只能温备
  • 物理备份,备份还原速度快
  • 适合大规模数据使用

Xtrabackup是开源免费的支持MySQL 数据库热备份的软件,在 Xtrabackup 包中主要有 Xtrabackup 和 innobackupex 两个工具。
安装xtrabackup
wget https://repo.percona.com/yum/percona-release-latest.noarch.rpm
rpm -ivh percona-release-latest.noarch.rpm
yum -y install percona-xtrabackup-24.x86_64 #一定要下载这个版本

物理备份

完全备份-----完整备份:

mkdir /xtrabackup/full

mysql -uroot -p’密码’

创建库,表,添加数据模拟正常工作

linux—mysql数据备份与恢复之物理备份_备份文件


做完整备份命令

innobackupex --user=root --password=‘密码’ /xtrabackup/full

linux—mysql数据备份与恢复之物理备份_数据库_02


linux—mysql数据备份与恢复之物理备份_数据_03


把新的完整备份复制一份,这是给我们留下保障(可不做)

linux—mysql数据备份与恢复之物理备份_mysql_04


关闭数据库

systemctl stop mysqld

linux—mysql数据备份与恢复之物理备份_数据库_05


删除残留目录文件

rm -rf /var/lib/mysql/*

rm -rf /var/log/mysqld.log

linux—mysql数据备份与恢复之物理备份_数据_06


回滚数据

innobackupex --apply-log /xtrabackup/full/刚备份的文件

linux—mysql数据备份与恢复之物理备份_数据库_07


恢复数据

innobackupex --copy-back /xtrabackup/full/刚备份的文件

linux—mysql数据备份与恢复之物理备份_备份文件_08


修改权限

chown mysql.mysql /var/lib/mysql -R

重启

systemctl start mysqld

查看

linux—mysql数据备份与恢复之物理备份_数据库_09

OK

增量备份: 每次备份上一次备份到现在产生的新数据

先创实验数据

linux—mysql数据备份与恢复之物理备份_数据库_10


做一次完整备份

innobackupex --user=root --password=‘密码’ /xtrabackup

linux—mysql数据备份与恢复之物理备份_数据_11


添加数据

linux—mysql数据备份与恢复之物理备份_数据_12


添加增量备份

innobackupex --user=root --password=‘密码’ --incremental /xtrabackup/ --incremental-basedir=/xtrabackup/一次完整备份文件

linux—mysql数据备份与恢复之物理备份_mysql_13


关闭数据库

systemctl stop mysqld

删除残留目录文件
rm -rf /var/lib/mysql/*
rm -rf /var/log/mysqld.log

回滚数据
innobackupex --apply-log /xtrabackup/full/一次完整备份文件

linux—mysql数据备份与恢复之物理备份_数据_14


回滚增量数据

innobackupex --apply-log --redo-only /xtrabackup/一次完整

备份文件 --incremental-dir=/xtrabackup/增量文件恢复数据

innobackupex --copy-back /xtrabackup/full/刚备份的文件

linux—mysql数据备份与恢复之物理备份_备份文件_15


修改权限

chown mysql.mysql /var/lib/mysql -R

重启

systemctl start mysqld查看

linux—mysql数据备份与恢复之物理备份_数据库_16

OK

差异备份:只备份跟完整备份不一样的

跟增量步骤差不多,不过每次都是基于一次备份文件做增量
直接上图,有问题留言

linux—mysql数据备份与恢复之物理备份_数据_17

linux—mysql数据备份与恢复之物理备份_数据_18


linux—mysql数据备份与恢复之物理备份_数据_19


linux—mysql数据备份与恢复之物理备份_数据_20


linux—mysql数据备份与恢复之物理备份_mysql_21


linux—mysql数据备份与恢复之物理备份_数据_22


linux—mysql数据备份与恢复之物理备份_mysql_23


linux—mysql数据备份与恢复之物理备份_备份文件_24


linux—mysql数据备份与恢复之物理备份_数据_25


linux—mysql数据备份与恢复之物理备份_备份文件_26


linux—mysql数据备份与恢复之物理备份_数据库_27


linux—mysql数据备份与恢复之物理备份_mysql_28