您的位置:首页 > 数据库 > MySQL

Mysql备份恢复学习笔记

2018-01-26 20:37 609 查看

xtrabackup 物理备份+binlog

完整备份

创建备份目录:
#mkdir /back/full

备份:
#innobackupex --user=root --password='123' /back/full


完整备份恢复流程

关闭数据库:#
systemctl stop mysqld

清理环境:
#rm -rf /var/lib/mysql/*

#rm -rf /var/log/mysqld/log


恢复之前的验证恢复

#innobackupex --apply-log /back/full/完整备份目录


确认数据库目录

#cat /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql

恢复数据

#innobackupex --copy-back /back/full/完整备份目录


修改权限

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


启动数据库

#systemctl start mysqld


增量备份

第一天:完整备份

#innobackupex --user=root --password='123' /back/full1

添加数据进库

第二天:增量备份

#innobackupex --user=root --password='123' --incremental /back/full1 --incremental-basedir=/back/full1/完整备份目录


.........
.........

增量备份恢复流程

停止数据库

#systemctl stop mysqld


清理环境

#rm -rf /var/lib/mysql/*

#rm -rf /var/log/mysqld.log


依次重演回滚

第一天的数据
#innobackupex --apply-log --redo-only /back/full1/完整备份目录

第二天
#innobackupex --apply-log --redo-only /back/full1/完整备份目录 --incremental-dir=/back/full1/增量备份目录

重复之前的操作

恢复数据

#innobackupex --copy-back /back/full1/回滚之后的完整备份目录


修改权限

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


重启数据库

#systemctl restart mysqld


差异备份

第一天:完整备份

#innobackupex --user=root --password='123' /back/full2

插入数据

第二天:差异备份

#innobackupex --user=root --password='123' --incremental /back/full2 --incremental=basedir=/back/full2/完整备份目录

..........
..........

差异备份恢复流程

停止数据库

#systemctl stop mysqld


清理环境

#rm -rf /var/lib/mysql/*

#rm -rf /var/log/mysqld.log


恢复全量的redo log

#innobackupex --apply-log --redo-only /back/full2/完全备份目录


恢复差异的redo log

#innobackupex --apply-log --redo-only /back/full2/完全备份目录 --incremental-dir=/back/full2/某个差异备份


复制数据文件

#innobackupex --copy-back /back/full2/回滚之后的完整备份目录


修改权限

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


##启动数据库

#systemctl start mysqld
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql linux 数据备份