mysql备份,还原

mysql备份,还原

简介

xtrabackup由个部分组成:xtrabackup和innobackupex xtrabackup:是用于热备份innodb, xtradb表中数据的工具,不能备份其他类型的表,也不能备份数据表结构; innobackupex:是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力

安装innobackupex

安装依赖: yum install -y perl-DBD-MySQL perl-DBI perl-Time-HiRes libaio*

安装: rpm -ivh percona-xtrabackup-2.1.5-680.rhel6.x86_64.rpm

查看安装结果: rpm -qa|grep xtrabackup

rpm -ql percona-xtrabackup-2.1.5-680.rhel6.x86_64

完全备份

开启二进制

vim  /etc/my.cnf.d/server.cnf
[mysqld]
datadir=/var/lib/mysql  \\数据库默认路径
log_bin=mysql-bin  #日志文件名称,末指定则按日期命名
binlog_format=row
service mysql restart
否则没有xtrabackup_binlog_info文件

备份数据

在备份的同时,备份数据会在备份目录下创建一个以当前日期时间为名字的目录存放备份文件
mkdir -p /data innobackupex --user=root --password=’cnhope’ /data

如果数据库太大,可以选择压缩备份来提升备份效率。
innobackupex --user=root --password='cnhope' --stream=tar /data | gzip -> /data/`date +%F`.tar

将mysql01机备份文件移至mysql02机上:

还原数据库

方法一:使用2018-06-11_15-30-47还原

[root@mysql02 data]# service mysql stop
[root@mysql02 data]# rm -rf /var/lib/mysql/*
[root@mysql02 data]# innobackupex –copy-back 2018-06-11_15-30-47/

[root@mysql02 data]# innobackupex –apply-log /var/lib/mysql

[root@mysql02 data]# innobackupex –apply-log /var/lib/mysql –ibbackup xtrabackup_55

[root@mysql02 data]# chown -R mysql:mysql /var/lib/mysql

[root@mysql02 data]# service mysql start

[root@mysql02 data]# mysql -uroot –pcnhope

方法二:使用2018-06-11.tar还原

[root@mysql02 data]# service mysql stop
[root@mysql02 data]# rm -rf /var/lib/mysql/*
[root@mysql02 data]#tar -ixvf 2018-06-11.tar -C /var/lib/mysql/

[root@mysql02 data]# innobackupex –apply-log /var/lib/mysql

[root@mysql02 data]# chown -R mysql:mysql /var/lib/mysql [root@mysql02 data]# service mysql start

问题:

innobackupex –apply-log /var/lib/mysql 出错
则查看下进程:
ps –ef|grep mysql kill + 进程号

知识点

一,

innobackupex –apply-log /var/lib/mysql
一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件仍处理不一致状态。“准备”的主要作用正是通过回滚未提交的事务及同步已经提交的事务至数据文件也使得数据文件处于一致性状态。(这样才能使用备份的数据)

二,

innobackupex –copy-back 2018-06-11_15-30-47/
innobackupex命令的–copy-back选项用于执行恢复操作,其通过复制所有数据相关的文件至mysql服务器DATADIR目录中来执行恢复过程。

猜你喜欢

转载自blog.csdn.net/UPNEW/article/details/81748837