Windows系统进不去了,如何恢复MySql数据?

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

发表评论

邮箱地址不会被公开。