2

情况如下:

计算机被黑客入侵后,我们急于将所有数据备份到其他计算机上。

因此,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
4

3 回答 3

0

听起来 my.ini 中的 innodb_log_file_size 与以前不同。

查看数据文件夹中的 ib_logfile0 文件大小,如果它是 102,400KB,它应该是:innodb_log_file_size=100M

你的看起来应该是:innodb_log_file_size=83M(现在设置为 24M)

当有人使用安装程序“修复”mysql安装时,我遇到了这个问题。

玩得开心。

于 2010-05-24T09:32:45.363 回答
0

您的错误日志表明您的 innodb 配置与您的 innodb 文件不匹配。您需要查看旧服务器上的配置文件,以确定 mysql 配置在哪里存储您的 innodb 文件。然后去找到这些文件并将它们复制到新服务器。您还应该完全从旧服务器复制 innodb 配置设置并将它们应用到新服务器。

于 2009-09-30T16:58:01.130 回答
0

您需要查看数据文件夹中的 mysql.err 日志以查看问题所在。

首次安装时mysql服务是否正常启动?

看起来你在 Windows 上,所以我猜你移动了文件而不是复制它们。当您在 Windows 中移动文件时,它们会保留其权限。当您复制时,它们会从文件夹继承权限。所以检查以确保他们拥有正确的权限。

于 2009-09-29T18:37:30.310 回答