安装备份工具xtrabackup
-
简介
-
它是开源免费的支持MySQL 数据库热备份的软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份。它不暂停服务创建Innodb热备份; 为mysql做增量备份;在mysql服务器之间做在线表迁移;使创建replication更加容易;备份mysql而不增加服务器的负载。 percona是一家老牌的mysql技术咨询公司。它不仅提供mysql的技术支持、培训、咨询,还发布了mysql的分支版本--percona Server。并围绕 percona Server还发布了一系列的mysql工具。
-
-
percona-xtrabackup80(mysql80)
-
安装yum仓库
-
YUM安装perconna仓库
-
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
-
-
如果无法直接安装,可以尝试先下载,再安装
-
wget https://repo.percona.com/yum/percona-release-latest.noarch.rpm
-
yum install -y percona-release-latest.noarch.rpm
-
[root@localhost ~]# yum repolist
-
-
检查yum仓库是否安装完成
-
安装XtraBackup命令
-
yum install percona-xtrabackup-80
-
注意:xtrabackup8.0只支持mysql8.0以上的版本,mysql5.7或以下需要使用xtrabackup8.0以下的版本
-
完全备份
先创建备份目录
mkdir -p /data/backup/
[root@service ~]# xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/base/ -uroot -pWyxbuke00. -H localhost -P 3306 --no-server-version-check
[root@service ~]# ls /
afs bin boot data dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@service ~]# ls /data
backup
[root@service ~]# ls /data/backup
base
[root@service ~]# ls /data/backup/base
backup-my.cnf binlog.index ib_buffer_pool mysql performance_schema undo_001 xtrabackup_binlog_info xtrabackup_info xtrabackup_tablespaces
binlog.000011 db01 ibdata1 mysql.ibd sys undo_002 xtrabackup_checkpoints xtrabackup_logfile
恢复数据库
删除数据库
[root@service ~]# systemctl stop mysqld
清除mysql目录下的内容
[root@service ~]# rm -rf /var/lib/mysql/*
恢复
[root@service ~]# xtrabackup --defaults-file=/etc/my.cnf --prepare --apply-log-only --target-dir=/data/backup/base
[root@service ~]# xtrabackup --prepare --target-dir=/data/backup/base
[root@service ~]# xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/backup/base
[root@service ~]# chown -R mysql.mysql /var/lib/mysql
[root@service ~]# systemctl start mysqld
[root@service ~]# mysql -u root -p
Enter password:
恢复成功!