今天一位老友跟我说他的mysql备份文件后缀.xb无法还原,或者还原出来只有表格没有数据, 于是我决定尝试进行一下备份还原, 在网上搜了一下 有一个腾讯云的文档, 按照腾讯云的来吧
首先
解包备份文件
- 由于备份文件先经过 qpress 压缩,后经过 xbstream 打包(xbstream 为 Percona 的一种打包/解包工具),所以下载备份文件后,应该先用 xbstream 将其解包。xbstream 工具可以通过 Percona XtraBackup 官网下载或者直接下载二进制包。
- Percona XtraBackup 官网下载安装
请选择 Percona XtraBackup 2.4.6 及以上的版本,安装介绍请参见 官网文档,
选完对应的系统版本后, 选择在线安装
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install percona-xtrabackup-24
其实就是上面两个命令 ,安装完成后
1.安装好 XtraBackup 之后,使用 xbstream 命令将备份文件解包到目标目录。
xbstream -x -C /data < ./test.xb /data 是还原文件 在、data 名称是 test.xb
2.使用 qpress 命令将目标目录下所有以.qp
结尾的文件都解压出来。
xtrabackup --decompress --target-dir=/data /data
3.Prepare 备份文件
备份解压出来之后,需要执行以下命令进行 apply log 操作。
xtrabackup --prepare --target-dir=/data
此时 文件夹内如如下
修改配置文件
由于存在的版本问题,请将解压文件 backup-my.cnf 中以下参数注释掉。
- innodb_checksum_algorithm
- innodb_log_checksum_algorithm
- innodb_fast_checksum
- innodb_page_size
- innodb_log_block_size
- redo_log_version
修改文件属性
修改文件属性,并检查文件所属为 mysql 用户。
chown -R mysql:mysql /data
启动 mysqld 进程并登录验证
- 启动 mysqld 进程。
mysqld_safe --defaults-file=/data/backup-my.cnf --user=mysql --datadir=/data &
这里要说明一下 , 我在使用 mysqld_safe 时报错commond not found, 于是我就 直接使用 mysqld 具体区别请百度
2.客户端登录 mysql 验证。
mysql -uroot -p
这里我没有拿到 root 账户密码 没办法设置远程登录 于是我直接使用mysqldump 把需要的数据库进行导成sql ,然后在本地导入sql 正常 腾讯说明文档https://cloud.tencent.com/document/product/236/33363
分类:
database
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架