Windows MySQL 安装后 `datadir` 默认是`C:\ProgramData\MySQL\MySQL Server 5.5\data\` (目录下是库和表结构),`ibdata1` 所在目录为 `C:\Program Files\MySQL Datafiles\` (表空间文件——数据)。
本例是将数据迁移到非系统盘,以应付不时的系统重装。例如将数据迁移到 `D:\Program Files\MySQL Datafiles\`目录。
**1**.停止`MySQL service`,copy `C:\ProgramData\MySQL\MySQL Server 5.5\data\` 目录下除了 `ib_logfile*` 和 `*.err` 之外的文件到 `D:\MySQL Datafiles Bakup\` 目录。
**2**.如果之前安装时 `ibdata1` 所在目录不为 `D:\Program Files\MySQL Datafiles\`,需重新安装 `MySQL` (重新安装之前需要卸载干净之前的),安装时注意修改安装目录为非系统盘,修改 `ibdata1` 所在目录为 `D:\Program Files\MySQL Datafiles\`,并将 `ibdata1` 文件复制到 `D:\MySQL Datafiles Bakup\` 下。
**3**.安装完成后,先停止 `MySQL`, 修改安装目录下 `my.ini` 文件
```bash
## 修改datadir
datadir="D:/Program Files/MySQL Datafiles/"
```
并复制 `D:\MySQL Datafiles Bakup\` 下所有文件到 `D:\Program Files\MySQL Datafiles\` 目录 (覆盖)。
**4**.重启 `MySQL`即可。
---
**恢复**
如果是重装系统后需要恢复之前安装的mysql和数据,只需要一条命令即可,前提是 mysql 程序和数据目录都在非 C 盘。
以 mysql 安装在 D:\Program Files\mysql-5.7.18-winx64 目录为例:
```bash
D:
cd D:\Program Files\mysql-5.7.18-winx64\bin
mysqld --install
```
再启动 mysql 服务就可以了~