1、将旧系统的MySql数据目录备份出来
如何拷贝:进入Windows PE系统或者其他方式
拷贝的数据包括:
2、在新系统或者另外一台正常的Windows下,安装好MySql,最好与旧系统的MySql版本一致
3、停止MySql服务,修改新安装的MySql的my.ini配置文件(修改前先备份一下my.ini,后续要还原回来的),使datadir、secure-file-priv指向到备份的MySql数据的Data与Uploads文件夹位置,修改log-bin配置项为备份数据Data目录下的bin-log文件的前缀
4、将备份数据Data文件夹的所有子文件夹及文件赋予当前用户读写权限(如果没有权限)
5、打开cmd窗口,切换到MySql安装目录:
cd /d D:\Program Files\MySQL\MySQL Server 8.0.34\bin
以无需密码+不使用redo方式启动MySql
.\mysqld --defaults-file="D:\mysql_data\my.ini" --innodb-force-recovery=6 --console --skip-grant-tables --shared-memory
6、新开一个cmd窗口,在MySql安装目录下,以root身份导出数据为sql格式的文件
.\mysqldump -u root MyDb Product> d:\recovery\product.sql
其中MyDb为数据库名称,Product为表名称,如果整库导出,则不需指定表名
7、导出完成之后,将步骤3备份的my.ini还原回来,启动MySql服务。在MySql安装目录下,执行下方命令恢复数据:
mysql -u root -p MyDb < D:\recovery\product.sql