我有一个外部硬盘(格式化为 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
答案2
我知道我的答案来得太晚了,但我也偶然发现了这一点。这是解决方案:将所有者更改为mysql数据目录、其文件和所有子目录的用户和组,例如:
chown -R mysql:mysql /var/lib/mysql