← 返回首页

xb数据库还原

2026-02-10 Admin #xb数据库还原

今天一位老友跟我说他的mysql备份文件后缀.xb无法还原,或者还原出来只有表格没有数据, 于是我决定尝试进行一下备份还原, 在网上搜了一下 有一个腾讯云的文档, 按照腾讯云的来吧 

 首先

解包备份文件

由于备份文件先经过 qpress 压缩,后经过 xbstream 打包(xbstream 为 Percona 的一种打包/解包工具),所以下载备份文件后,应该先用 xbstream 将其解包。xbstream 工具可以通过 Percona XtraBackup 官网下载或者直接下载二进制包。

Percona XtraBackup 官网下载安装请选择 Percona XtraBackup 2.4.6 及以上的版本,安装介绍请参见 官网文档,

image

 

 选完对应的系统版本后, 选择在线安装

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

此时 文件夹内如如下  

image

 

 

修改配置文件

由于存在的版本问题,请将解压文件 backup-my.cnf 中以下参数注释掉。

innodb_checksum_algorithm

innodb_log_checksum_algorithm

innodb_fast_checksum

innodb_page_size

innodb_log_block_size

redo_log_version

image

 

 

修改文件属性

修改文件属性,并检查文件所属为 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