排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
使用Xtrabackup备份MySQL数据库
使用Xtrabackup备份MySQL数据库
WalkingCloud
2021-04-12
1344
Xtrabackup
是 Percona公司开发的一款开源的能够对innodb和xtradb数据库引擎进行数据库热备的工具,支持MySQL、Percona server和MariaDB,是目前较为受欢迎的主流MySQL数据库备份工具
Xtrabackup有如下几大特点:
(1)备份过程快速、可靠;
(2)备份过程不会打断正在执行的事务;
(3)能够基于压缩等功能节约磁盘空间和流量;
(4)自动实现备份检验;
(5)还原速度快;
XtraBackup 2.4版本官方下载地址
https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/
下面演示使用Xtrabackup对CentOS7系统上的MySQL数据库进行备份
先提前下载CentOS7版本的
Xtrabackup
RPM安装包
https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.15/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm
1、下面使用mysql初始安装脚本+编辑好的/etc/my.cnf MySQL配置文件进行安装mysql数据库,脚本如下
当然可以参考之前的文章进行MySQL的手动安装——
CentOS6下安装MySQL5.7.25二进制版本
编写的脚本比较简单,可以忽略脚本的健壮性
#!/bin/sh
installMySQL_LOG="/root/installMySQL.log"
echo `date` >>$installMySQL_LOG
groupadd mysql >>$installMySQL_LOG 2>&1
useradd -g mysql -s sbin/nologin mysql >>$installMySQL_LOG 2>&1
tar -zxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C usr/local/
mv usr/local/mysql-5.7.26-linux-glibc2.12-x86_64 usr/local/mysql
\cp -f ./my.cnf etc/my.cnf
mkdir -p usr/local/mysql/data
chown -R mysql:mysql usr/local/mysql/
cp usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ >>$installMySQL_LOG 2>&1
chkconfig --add mysqld >>$installMySQL_LOG 2>&1
chkconfig mysqld on >>$installMySQL_LOG 2>&1
echo "PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
echo "export PATH">>/etc/profile
source /etc/profile
if [ ! -e /tmp/mysql.sock ];then
ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock >>$installMySQL_LOG 2>&1
fi
service mysqld stop
sed -i '2i skip-grant-tables' /etc/my.cnf
service mysqld start
/usr/local/mysql/bin/mysql -uroot -e"use mysql;update user set authentication_string = password('Admin@2019') where user = 'root';flush privileges;"
sed -i '/skip-grant-tables/d' /etc/my.cnf
/etc/init.d/mysqld restart >>$installMySQL_LOG 2>&1
/usr/local/mysql/bin/mysql --connect-expired-password -uroot -pAdmin@2019 -e"SET PASSWORD = PASSWORD('MySQL@2019');flush privileges;"
my.cnf配置文件内容如下
2、执行
./installMySQL.sh
安装MySQL
3、安装完成后,导入测试数据库脚本test.sql
4、使用常用mysql数据库命令查看
5、表中插入几条测试数据
6、接下来安装Xtrabackup
上传percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm
解决包依赖问题,采用
yum localinstall -y percona-xtrabackup-24-2.4.15-1.el7.x86_64.rpm
进行安装xtrabackup RPM包
7、接下来使用xtrabackup进行一次数据库的全量备份
创建数据库备份文件存放目录并使用xtrabackup的命令
innobackupex进行全量备份
mkdir /backup
innobackupex --defaults-file=/etc/my.cnf --user=root --password=MySQL@2019 --socket=/tmp/mysql.sock /backup
待全库全量备份完成后,可以在/backup目录下以日期时间命名的数据备份文件
8、下面模拟数据库损坏,并使用
xtrabackup进行恢复
假设删掉数据库的数据目录
rm -rf /usr/local/mysql/data/
9、准备(prepare)一个完全备份
innobackupex --apply-log /backup/2019-09-14_23-00-01/
一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件仍处理不一致状态。"准备"的主要作用正是通过回滚未提交的事务及同步已经提交的事务至数据文件也使得数据文件处于一致性状态
10、还原全量备份
innobackupex --copy-back 从完全备份目录中恢复数据
innobackupex --copy-back /backup/2019-09-14_23-00-01/
cd /usr/local/mysql/data/可以看到还原回来的数据库数据文件
chown -R mysql.mysql
/usr/local/mysql/data/
修改属主属组为mysql.mysql
重启mysqld服务后登录数据库验证数据库是否完全还原回来
可以看到数据库全量备份还原
成功
以上是Xtrabackup全量备份操作,下次介绍一下利用
Xtrabackup进行
增量备份
mysql
文章转载自
WalkingCloud
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨