Navicat 不支持直接还原 .psc 文件,因其是 Percona XtraBackup 生成的物理备份格式,需先用 xtrabackup 命令行 prepare 和 copy-back 恢复实例,再通过 Navicat 连接验证。
Navicat 不支持直接还原 .psc 备份文件
根本原因在于 .psc 是 percona server for mysql 的专有物理备份格式(基于 xtrabackup),navicat 作为图形化客户端,只支持逻辑导入(如 .sql)或部分厂商的云备份协议,不集成 xtrabackup 引擎。你双击或“还原”菜单里选 .psc 文件,大概率会报错 unsupported file format 或直接无响应。
正确路径是:先用 xtrabackup 命令行工具完成 prepare 和 copy-back,再让 Navicat 连接已恢复的实例查看数据。
还原 .psc 备份必须走命令行三步走
跳过这一步,Navicat 永远无法“看到”你的备份内容。整个过程不依赖 Navicat,它只是后续验证工具。
- 确保目标机器已安装匹配版本的
percona-xtrabackup-80(MySQL 8.0)或percona-xtrabackup-24(MySQL 5.7) - 解压
.psc文件(它本质是 tar.gz 压缩包):tar -xzf backup.psc -C /path/to/restore/
- 执行 prepare(关键!否则数据文件不可用):
xtrabackup --prepare --target-dir=/path/to/restore/
- 停止 MySQL 服务,清空原数据目录(如
/var/lib/mysql),再 copy-back:xtrabackup --copy-back --target-dir=/path/to/restore/
- 改回数据目录权限:
chown -R mysql:mysql /var/lib/mysql
Navicat 能做的只有验证和导出,不是还原主体
等 MySQL 实例成功启动后,Navicat 才派上用场:
- 新建连接指向该实例,确认库表存在、数据可查
- 若需导出某张表为
.sql或.csv,可用 Navicat 的“数据传输”或“导出向导” - 不要尝试在 Navicat 中“从备份恢复”,它没有调用
xtrabackup的能力,也读不懂.psc的物理页结构 - 注意:如果备份时启用了加密(
--encrypt),prepare 阶段必须加--decrypt和--encrypt-key,否则 prepare 会卡住且无明确报错
容易被忽略的兼容性细节
看似流程固定,但几个点一错就全盘失败:
-
.psc备份生成时的 MySQL 版本、Percona XtraBackup 版本,必须与 restore 环境严格一致,跨大版本(如 5.7 → 8.0)不支持 - 备份时若用了
--no-lock且业务写入活跃,prepare 后可能遇到page corruption,需检查xtrabackup_checkpoints中的to_lsn是否连续 - restore 目录磁盘空间要 ≥ 原数据目录的 1.5 倍(prepare 阶段会生成临时日志文件)
- Navicat 连接后查不到新表?先确认 MySQL 的
datadir配置是否真的指向你 copy-back 的目录,而不是默认路径


















