情况如下:
计算机被黑客入侵后,我们急于将所有数据备份到其他计算机上。
因此,mysql 数据库不会作为 sql 语句备份出来。
我们所做的是将 C 盘中的所有物理文件/文件夹备份到新计算机。
例如:
C:\Program Files\MySQL\MySQL 服务器 4.1\data
在这种情况下,mysql 的所有数据都在不可读的文件中。内部数据文件夹由 ib_logfile0、ib_logfile1 等文件组成,但不包括 ib_data1 所有数据库的表结构格式都在每个文件夹内。(一些文件夹有 .frm、.opt)(其他一些文件夹有 .frm、.myd、.myi)
如何在新计算机中从数据库中检索数据?
我尝试在新计算机上安装相同的mysql版本(4.1),然后将data文件夹中的所有备份文件替换到新计算机中的这个mysql中。然后重启mysql服务。
当我重新启动时,它失败了:无法在本地计算机上启动 mysql 服务。错误 1067:进程意外终止。
错误日志显示:
InnoDB: The first specified data file .\ibdata1 did not exist:
InnoDB: a new database to be created!
090930 10:24:49 InnoDB: Setting file .\ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Error: log file .\ib_logfile0 is of different size 0 87031808 bytes
InnoDB: than specified in the .cnf file 0 25165824 bytes!
090930 10:24:49 [ERROR] Can't init databases
090930 10:24:49 [ERROR] Aborting
090930 10:24:49 [Note] C:\Program Files\MySQL\MySQL Server 4.1\bin\mysqld-nt: Shutdown complete