xtrabackup进行数据库恢复

本篇讲备份的恢复

备份见上篇:xtrabackup进行数据库备份
当我们进行了一次全备份之后,会在备份目录生成时间戳命名的一个备份文件
在这里插入图片描述
此备份文件下包括:backup-my.cnf、xtrabackup_checkpoints等备份的配置文件和已经备份过来的数据库文件。

恢复步骤:

1.将要恢复的机器上mysql服务停掉:

[root@xtrabackup ~]# mysqladmin -uroot -p shutdown

可以ps看下是否停止:

[root@xtrabackup ~]# ps -ef|grep mysql

2.将mysql数据目录移除:
这一步的目的是:备份的时候xtrabackup会记录该目录的位置,如果在恢复的时候data目录存在且不为空,恢复会报错。
*超级不建议使用rm -rf 删除

[root@xtrabackup ~]# mv /home/mysql/data  /home/mysqlbak

3.进行prepare,执行如下命令:

[root@xtrabackup ~]# innobackupex   --apply-log --redo-only /home/mysqlbackup/backup/2020-05-28_11-29-06/

4.执行全部恢复:

[root@xtrabackup ~]# innobackupex --defaults-file=/etc/my.cnf   --copy-back  /home/mysqlbackup/backup/2020-05-28_11-29-06/

在这里插入图片描述
看到completed OK!,恢复成功

5.修改新文件权限:

[root@xtrabackup ~]# chown mysql:mysql -R /data/mysql_data

6.重启mysql服务:

[root@xtrabackup ~]# mysqld &

在这里插入图片描述
可以看到,数据库已经恢复:
在这里插入图片描述
至此,数据库恢复完成。

PS:现在正在做shell脚本,准备将数据库备份与同步自动化,下篇更新xtrabackup专栏应该是shell脚本实现数据库备份与同步。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章