Laragon MySQL崩溃后,如何用.frm/.ibd文件恢复迁移至XAMPP?
Laragon MySQL崩溃后,从.frm/.ibd文件恢复并迁移到XAMPP WordPress的方法
一、优先尝试:重装同版本Laragon直接恢复
- 卸载当前Laragon,注意不要删除你保存的数据库文件夹(即包含.frm、.ibd、db.opt的文件夹)
- 下载和你之前使用的同版本Laragon(比如之前是带MySQL 5.7的安装包,就选同款,避免版本兼容问题)
- 安装完成后先关闭Laragon,把你保存的数据库文件夹复制到Laragon的
data目录(路径一般为Laragon\mysql\data) - 启动Laragon,打开phpMyAdmin,若能正常识别该数据库,直接导出成SQL文件(选中数据库→点击「导出」→选择SQL格式),这是最省心的方案
二、重装Laragon无效?直接用XAMPP恢复文件
前提:XAMPP的MySQL版本尽量和原Laragon的版本一致,减少兼容问题
创建空数据库
- 启动XAMPP的Apache和MySQL,打开phpMyAdmin,新建一个和原数据库同名的空数据库,字符集选择
utf8mb4_unicode_ci(与WordPress默认字符集匹配) - 关闭XAMPP的MySQL服务(在XAMPP控制面板点击MySQL的「Stop」按钮)
- 启动XAMPP的Apache和MySQL,打开phpMyAdmin,新建一个和原数据库同名的空数据库,字符集选择
替换数据库文件
- 找到XAMPP的MySQL数据目录,比如
xampp\mysql\data\你的新数据库名,将该文件夹内所有文件删除 - 把你保存的.frm、.ibd、db.opt文件全部复制到这个空文件夹中
- 右键选中这些复制过来的文件,取消「只读」权限(避免MySQL无法读写文件)
- 找到XAMPP的MySQL数据目录,比如
修复表空间(核心步骤)
- 启动XAMPP的MySQL服务,打开命令提示符(CMD),进入XAMPP的MySQL bin目录,示例命令:
cd C:\xampp\mysql\bin - 登录MySQL,输入命令:
按回车后输入MySQL的root密码(未设置密码则直接按回车)mysql -u root -p - 切换到目标数据库:
USE 你的数据库名; - 对每个表依次执行以下命令(将
表名替换为实际表名,比如wp_posts):ALTER TABLE 表名 DISCARD TABLESPACE; ALTER TABLE 表名 IMPORT TABLESPACE; - 若提示
Table 'xxx' doesn't exist,先创建一个与原表结构一致的空表(可参考新WordPress的同名表结构,比如wp_users的结构可直接查到),创建完成后再执行上述两句命令
- 启动XAMPP的MySQL服务,打开命令提示符(CMD),进入XAMPP的MySQL bin目录,示例命令:
验证并导出SQL
- 打开phpMyAdmin,检查数据库内的表是否能正常打开、数据是否完整
- 确认无误后,直接导出成SQL文件,再导入到新WordPress对应的数据库中(新WordPress需先建好空数据库,导入后修改
wp-config.php里的数据库账号、密码等信息即可)
三、常见报错解决
- 执行IMPORT命令时报错
Tablespace for table 'xxx' exists:确认XAMPP数据库文件夹内原有的ibd文件已删除干净,且复制过来的文件权限已取消只读 - 表显示损坏:在phpMyAdmin中选中损坏的表,点击「操作」→「修复表」尝试修复
- 版本兼容报错:更换与原Laragon MySQL版本一致的XAMPP安装包
内容的提问来源于stack exchange,提问作者Sandra P
相关产品推荐
相关产品推荐

