You need to enable JavaScript to run this app. 更换内置硬盘后未导出数据库,如何从外置硬盘恢复数据库?
优惠活动
大模型
产品
解决方案
定价
更多

更换内置硬盘后未导出数据库,如何从外置硬盘恢复数据库?

前置检查
  • 确认旧硬盘已被当前系统正常挂载识别:Windows在文件资源管理器查看对应盘符,macOS在访达边栏确认挂载条目,Linux执行lsblk查看块设备挂载路径,确保旧硬盘无坏道、文件系统报错,可正常浏览目录内容
  • 提前关闭新硬盘上运行的所有同类型数据库服务,避免端口占用、文件锁冲突,防止恢复过程触发写入错误
  • 注意:恢复前需记录旧硬盘上原数据库的大版本号,新旧版本必须完全匹配,跨版本直接替换存储目录大概率会导致服务启动失败
分数据库类型的恢复操作

MySQL / MariaDB

  • 在外置旧硬盘中定位原数据库的默认存储路径:
    • 旧Windows系统:X:\ProgramData\MySQL\MySQL Server [对应版本号]\Data(X为外置盘分配的盘符)
    • 旧Linux/macOS系统:外置盘挂载路径下的/var/lib/mysql目录
  • 将整个Data目录完整复制到新系统的MySQL存储路径下,替换空的初始化目录
  • 调整目录权限:Linux/macOS下执行chown -R mysql:mysql [新系统下的Data目录路径],Windows下给运行MySQL的系统账号分配该目录的完全控制权限
  • 启动数据库服务,执行查询语句验证原有库表、数据是否完整

PostgreSQL

  • 定位旧硬盘上的PostgreSQL数据存储目录:
    • 旧Windows系统:X:\Program Files\PostgreSQL\[对应版本号]\data
    • 旧Linux/macOS系统:外置盘挂载路径下的/var/lib/postgresql/[对应版本号]/main
  • 停止新系统的PostgreSQL服务,将旧数据目录完整替换到新系统的PostgreSQL存储路径下
  • 调整目录权限为postgres用户所有后,启动服务验证数据完整性

SQLite 等文件型本地数据库

  • 直接在外置旧硬盘的原项目目录中,找到后缀为.db、.sqlite、.sqlite3的数据库文件
  • 无需启动独立数据库服务,直接将文件复制到新项目的指定存储路径,修改项目配置中的数据库文件指向即可正常读取
异常排查
  • 若数据库启动提示权限错误:检查复制后的数据目录是否保留原所有者、组权限,不要直接用普通管理员权限运行数据库服务
  • 若启动后看不到原有业务库:确认数据目录下的系统表文件(如MySQL的ibdata1、PostgreSQL的PG_VERSION)未遗漏,不要仅单独复制业务库文件夹
  • 若旧硬盘目录提示无访问权限:Linux下使用sudo权限读取目录,Windows下右键对应文件夹选择“取得所有权”后再操作

内容的提问来源于stack exchange,提问作者younes hamitouche

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.29 02:36:08