如何处理MySQL目录文件使其可通过Windows默认功能稳定复制迁移
MySQL数据文件安全复制操作指南(仅使用Windows默认功能)
直接复制运行状态下的MySQL目录文件会出现数据页未刷盘、文件占用锁冲突的问题,不仅会导致原库运行不稳定,单独复制的表文件也无法正常迁移读取,按照以下步骤操作即可解决:
- 停止MySQL服务,解除文件占用
按下Win+R组合键唤出运行窗口,输入services.msc回车打开服务管理器,在服务列表中找到对应MySQL实例的服务项(通常命名为MySQL、MySQL8.0等,可根据自己的安装版本确认),右键点击停止,等待服务状态更新为「已停止」后再进行后续操作。 - 确认MySQL数据目录路径
如果你不清楚数据目录的存储位置,可以查看MySQL配置文件my.ini中datadir参数的取值,所有库表数据都存储在该目录下,不要单独复制上层的程序安装目录。
数据目录下的文件参考如下:
- 执行复制粘贴操作
选中完整的datadir数据目录,右键选择「复制」,粘贴到目标位置或者其他程序的对应导入目录即可,不要单独挑选ibd、frm等单表文件复制,否则会出现表数据无法识别的问题。 - 恢复原实例运行(可选)
如果原MySQL实例需要继续使用,回到服务管理器找到对应MySQL服务,右键点击启动即可恢复正常运行。
如果你是要把数据迁移到其他设备的MySQL实例,同样需要先停止目标设备的MySQL服务,将复制的datadir目录覆盖目标设备的对应数据目录后,再启动目标MySQL服务即可完成全量数据迁移。
内容的提问来源于stack exchange,提问作者zak Smiths
相关产品推荐
相关产品推荐

