从 Windows 复制的 MySQL 服务器无法在 Ubuntu Linux 上启动

从 Windows 复制的 MySQL 服务器无法在 Ubuntu Linux 上启动

我有一个外部硬盘(格式化为 NTFS),我将 MySQL 数据文件夹从运行 Windows 7 的机器复制到该硬盘上。我已经能够成功地在 Windows 机器上启动/停止/使用 MySQL,而数据位于外部硬盘上。

我现在需要从运行 Ubuntu Linux (14.04) 的机器访问相同的数据。我在 Ubuntu Linux 机器上配置了 MySQL,以便它从外部硬盘上的相同数据目录中读取。但是,服务器无法启动,并显示以下错误消息:

InnoDB: No valid checkpoint found.
InnoDB: If this error appears when you are creating an InnoDB database,
InnoDB: the problem may be that during an earlier attempt you managed
InnoDB: to create the InnoDB data files, but log file creation failed.
InnoDB: If that is the case, please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/error-creating-innodb.html
150518 15:18:53 [ERROR] Plugin 'InnoDB' init function returned error.
150518 15:18:53 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE    failed.
150518 15:18:53 [ERROR] Unknown/unsupported storage engine: InnoDB
150518 15:18:53 [ERROR] Aborting

在尝试在另一台机器上启动服务器之前,我确实停止了服务器。

注意:我知道我可以在 Linux 机器上重新开始并执行 mysql 转储/导入,但出于各种项目特定的原因,我希望数据理想情况下放在一个地方,Windows 和 Linux 机器都可以读取。

答案1

文档没有提及或暗示这是可能的,因为它仅描述您已经知道的转储/导入方法。

虽然桌子格式(见文档) 在每个平台上都是一样的,没有提到日志记录(或日志记录)。您引用的错误消息似乎在该区域。可能限制是由于 MySQL 使用本地文件系统路径(例如my.cnf)造成的,这在 Windows 和 Linux 之间必然会有所不同。

答案2

我知道我的答案来得太晚了,但我也偶然发现了这一点。这是解决方案:将所有者更改为mysql数据目录、其文件和所有子目录的用户和组,例如:

chown -R mysql:mysql /var/lib/mysql

相关内容