一、备份方式
1、备份:逻辑备份(mysqldump,mydumper)、物理备份(xtrabackup、tar、cp、rsync) 2、冗余:主备模式、数据库集群
二、备份对象
1、数据(库、表) 2、日志文件
三、物理备份(适合大型数据库,不受引擎的限制)实验用的是mariadb,步骤按mysql来
1、percona-xtrabackup 物理备份 + binlog
1.1下载软件包(超级慢 http://www.percona.com/software/percona-xtrabackup/ )
#wget http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm(下载YUM源) #yum -y install percona-release-0.1-3.noarch.rpm(安装yum源) #yum -y install percona-xtrabackup-24.x86_64 (安装percona)
注意:需要进入仓库把gpgcheck改为0
#vim percona-release.repo # rpm -q percona-xtrabackup-24 (查看版本) percona-xtrabackup-24-2.4.16-1.el7.x86_64
1.2备份流程
>grant all privileges on *.* to 'root'@'localhost' identified by '密码';(授权自己定义) # innobackupex --user=root --password='5740##' /xtrabackup/full
# cd /xtrabackup/full/ (备份目录) # ls 2019-11-05_06-38-48 #cat /xtrabackup/full/2017-08-01_00-00-18/xtrabackup_binlog_info (二进制日志文件)
1.3恢复流程
#systemctl stop mysqld
# innobackupex --apply-log /xtrabackup/full/2017-08-01_00-00-18/ (生成回滚日志) # innobackupex --copy-back /xtrabackup/full/2017-08-01_00-00-18/ (恢复文件)
1.4增量备份(差异备份及其恢复大致一样)
innobackupex --user=root --password='密码' --incremental /xtrabackup/ --incremental-basedir=/xtrabackup/2017-09-01_00-00-04
(basedir基于周一的备份。会生成一个今天的。)
2、tar备份数据库(物理备份)
2.1备份
# systemctl stop mariadb # tar -cf /backup/`date +%F`-mariadb-all.tar /var/lib/mysql (备份成功)
2.2恢复
# rm -rf /var/lib/mysql/* # tar -xf /backup/2016-12-07-mysql-all.tar -C / (-C / 会让tar包恢复到原来的路径) # systemctl start mariadb
3、Lvm快照实现物理备份 + binlog(物理备份))
四、逻辑备份
1、细节不在累述(看官网https://dev.mysql.com/doc/refman/5.7/en/reloading-sql-format-dumps.html)
# mysqldump -p'密码' \ --all-databases --single-transaction \ #保证导出的一致性状态--single-transaction --master-data=2 \ #master-data=2 注释掉日志记录 --flush-logs \ > /backup/`date +%F-%H`-mysql-all.sql
2、恢复
mysql -p'密码' < /backup/2016-12-08-04-mysql-all.sql
https://blog.csdn.net/yp090416/article/details/108143521 mysql每天定时自动全库备份、灾备、docker 值得一看
https://www.cnblogs.com/linuxk/p/9371475.html mysqldump备份和恢复,介绍详细,参数讲解,分引擎备份