xtrabackup备份mysql

安装,这里用的二进制源码,地址 https://www.percona.com/downloads

完全备份格式

innobackupex -uroot -p密码 备份目录 [参数]

增量备份格式

innobackupex -uroot -p密码 备份目录 --incremental 新数据存放目录 --incremental-basedir=上次备份目录 [参数]

准备恢复数据格式

innobackupex --apply-log --redo-only 完全备份目录

合并数据格式(合并的顺序要与增量备份的顺序一致)

innobackupex --apply-log --redo-only 完全备份目录 --incremental-dir=新数据存放目录

拷贝数据格式

innobackupex --copy-back 完全备份目录
--no-timestamp	不用时间戳创建子目录存储备份数据
--incremental /newdir	备份新数据 newdir:新数据备份目录
--incremental-basedir=/olddir	上次备份 olddir:上次备份目录
--apply-log --redo-only	准备恢复数据
--incremental-dir	合并数据中指定增量备份数据存放目录
--copy-back	将合并完的完全备份数据拷贝数据到默认/自定义数据库目录下

执行完全备份

innobackupex -uroot -p密码 /fullbak  --no-timestamp

执行增量备份

innobackupex –uroot –p密码  --incremental /newdata --incremental-basedir=/fullbak  --no-timestamp

准备恢复数据

告诉innobackupex从什么位置开始合并数据

innobackupex --apply-log --redo-only /fullbak

合并数据(需要恢复哪一天的就合并到哪一天)

innobackupex --apply-log --redo-only /fullbak --incremental-dir=/new

恢复数据

停止数据库服务

systemctl stop mysqld

清空数据库目录(必须要清空目录信息,否则无法恢复)

rm -rf /var/lib/mysql/*

恢复数据

把合并后的数据拷贝到数据库目录下

innobackupex --copy-back /fullbak

修改数据库目录的所有者和组用户为mysql

chown -R mysql:mysql /var/lib/mysql        

重启数据库服务

systemctl start mysqld
posted @ 2024-01-17 16:20  朝阳1  阅读(18)  评论(0编辑  收藏  举报