PXC从完整备份中恢复指定表
PXC从完整备份中恢复指定表
PXC 从完整备份中恢复指定的表
备份服务器
备份文件处理
# 切换到备份目录下
cd /data/backups/full/
# 解压文件,使用gzip压缩的
gunzip mysql-23_yl_2021-06-29.gz
# 切换到临时目录
cd /tmp
# 创建临时文件夹
mkdir -pv outputdir
# 使用xbstream解压出来很多.qp文件
xbstream -x < /data/backups/full/mysql-23_yl_2021-06-29 -C ./outputdir/
# 把需要恢复的文件拷贝到数据库服务器上,
scp yl_user.idb.qp 172.34.21.23:~
数据库服务器
# 解压qp文件
# .qp结尾的压缩文件,需要安装qpress工具,因为innobackupex在解压时默认使用该工具
# 解压完之后就能看到 yl_user.idb 文件
innobackupex --decompress ./
数据库操作
随便登录一台机器
mysql -uroot -p
-- 切换数据库
use yl;
-- 备份数据表
XXXXX
-- 删除数据表
drop table yl_user;
-- 创建数据表
CREATE TABLE XXXXXX
以下操作需要在所有节点执行,不知道是不是这种恢复方式不会同步的问题
-- 修改全局变量 pxc_strict_mode
SET global pxc_strict_mode = PERMISSIVE ;
-- 加写锁,确保安全
lock tables yl_user write;
-- 丢弃表空间
alter table yl_user discard tablespace;
拷贝数据文件
拷贝数据文件到mysql目录下,并且修改权限
cp yl_user.ibd /data/mysql/yl/
chown -R mysql:mysql /data/mysql/yl/yl_user.ibd
切换回数据库
-- 载入表空间
alter table yl_user import tablespace;
-- 查看数据恢复情况
select count(1) from yl_user;
-- 解锁
unlock tables;
-- 修改全局变量
SET global pxc_strict_mode = ENFORCING ;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix