1.关于备份:
MySQL中有完全备份、增量备份和差异备份三种常见的备份策略,这次先使用完全备份
定义:完全备份是指备份整个数据库或数据集的所有内容,包括数据库的结构、数据、索引、存储过程等。
特点:每次备份都是独立的,不依赖于之前的备份。
优点:恢复速度快,因为所有数据都包含在一个文件中。
缺点: 备份文件通常很大,占用存储空间较多。
2.下载备份软件percona-xtrabackup80(mysql80)
安装yum仓库
YUM安装perconna仓库
yum install -y 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
安装之前先启用perconna仓库
percona-release enable-only tools release
注意:xtrabackup8.0只支持mysql8.0以上的版本,mysql5.7或以下需要使用xtrabackup8.0以下的版本
yum install percona-xtrabackup-83
3.完全备份
首先创建文件夹用来
存放备份文件
mkdir -p /data/backup
然后创建mysql数据数据库some和表t1
mysql -uroot -p'LiuDeHua@123'
create database some;
create table some.t1 (id int,name varchar(10));
insert into some.t1 values (1,'完全备份'),(2,'完全备份');
\q
开始备份
xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/base -uroot -p'LiuDeHua@123' -H localhost -P 3306 --no-server-version-check
注释
--defaults-file 备份工具在备份数据库的时候,需要参考的默认文件。一般参考mysql的主配置文件
--backup 备份的意思
--target-dir 备份后的文件放在哪里(要提前把备份的目录创建好)
-u 备份时候使用的数据库身份
-p 备份时使用身份的密码
-H 要备份哪台机器
-P 备份工具所登录备份服务器的端口
--no-server-version-check 不对服务版本进行校验
查看备份是否成功,如果里面有文件就代表备份成功
ls /bata/backup/base
完全备份恢复
删除数据库
systemctl stop mysqld
rem -rf /var/lib/mysql/*
准备备份文件
xtrabackup --prepare --target-dir=/data/backup/base --no-server-version-check
开始恢复
xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/backup/base
更改文件的属主和属组
如果不更改,就无法启动mysql
chown -R mysql.mysql /var/lib/mysql
启动msyql服务,登录mysql
systemctl start msyqld
mysql -uroot -p'LiuDeHua'
use some;
show tables;
select * from t1;
如果能够看到之前创建的数据库和表,说明成功