Windows からコピーした MySQL サーバーが Ubuntu Linux で起動しない

Windows からコピーした MySQL サーバーが Ubuntu Linux で起動しない

Windows 7 を実行しているマシンから MySQL データ フォルダをコピーした外付けハード ドライブ (NTFS 形式) があります。外付けハード ドライブにデータを保存した状態で、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 のダンプ/インポートを実行できることはわかっていますが、プロジェクト固有のさまざまな理由から、理想的には、データを 1 か所に置き、Windows マシンと Linux マシンの両方で読み取り可能にしたいと考えています。

答え1

ドキュメンテーションすでに知っているダンプ/インポート方法についてのみ説明しているため、これが可能であるとは言及も示唆もされていません。

一方、テーブルフォーマット(参照ドキュメンテーション) はどのプラットフォームでも同じであると言われていますが、ログ記録 (またはジャーナル リング) については何も言及されていません。あなたが引用したエラー メッセージはその領域にあるようです。おそらくこの制限は、my.cnfWindows と Linux で必然的に異なるローカル ファイル システム パス ( など) を MySQL が使用しているためです。

答え2

答えが遅すぎることはわかっていますが、私もこれに偶然出会いました。これが解決策です:所有者を変更するマイスクデータ ディレクトリ、そのファイル、およびそのすべてのサブディレクトリのユーザーとグループ、例:

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

関連情報