Mysql备份恢复学习笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql备份恢复学习笔记相关的知识,希望对你有一定的参考价值。

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备份恢复学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

[知了堂学习笔记]_Java代码实现MySQL数据库的备份与还原

学习笔记MySQL 数据备份与恢复

学习笔记MySQL 数据备份与恢复

Mysql DBA 高级运维学习笔记-Mysql增量备份及数据恢复实战

Mysql DBA 高级运维学习笔记-MySQL备份与恢复实战案例及生产方案

sql 学习笔记