3

Ubuntu 10.04 で MySQL 5.1 を実行していますが、最近までデフォルトのデータ ディレクトリの場所を使用していました。設定ファイルの他の部分はパフォーマンスのために調整されましたが、パスはデフォルトのままです。

最近、容量が不足し始めたので、別のハードディスクを追加して /mysql としてマウントし、MySQL データ専用に使用することにしました。だから、私はパスを変更し、古いデータディレクトリを新しいデータディレクトリにコピーし、それで終わりだと思った。

残念ながら、そうではありませんでした。新しいパスを反映するように apparmor の MySQL プロファイルを更新したにもかかわらず、後で apparmor が問題であることが判明しました。apparmor を無効にした後、サーバーは機能し、大きなデータベースをインポートできました。これが、より多くのスペースが必要だった最初の理由です。

さて、それは昨日のことでした.200GBのデータベース全体がインポートされ、キーがソートされ、今日サーバーを起動しようとするまではすべて問題ないように見えました. ログに表示されるエラーは次のとおりです。

120913 13:53:38  InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
InnoDB: If you are installing InnoDB, remember that you must create
InnoDB: directories yourself, InnoDB does not create them.
InnoDB: File name /home/{my_username}/mysql/data/ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.

これにはいくつかの奇妙なことがあります:

a) root として sudo されており、'service mysql start' コマンドを使用して起動しています b) /home/{my_username}... path ANYWHERE の記述がどの構成にもありません。

この種の問題に関する情報やバグ レポートは見つかりませんでした。問題は実際には 2 パラグラフ未満では説明できないため、何を検索するかさえわかりません。

詳細情報: innodb_data_home_dirを手動で設定すると、以前の問題は解消されますが、代わりに次のようになります。

120913 14:08:06  InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
InnoDB: If you are installing InnoDB, remember that you must create
InnoDB: directories yourself, InnoDB does not create them.
InnoDB: File name /home/poplar/mysql/innodb-logs/ib_logfile0
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.

現在、このボックスには「ポプラ」ユーザーはいません。ログ ファイルをそこに配置しようとする理由がまったくわかりません。

4

1 に答える 1

2

さて、innodb_log_group_home_dirを新しい MySQL データ ディレクトリ (ログが以前あった場所であり、いずれにせよデフォルトであるはずの場所) に設定するとうまくいくことがわかりました。

サーバーが正常に起動し、すべてのデータがそこにあるように見えます。

ログファイルを配置する良いアイデアとして「ポプラ」ユーザー名がどこに取得されたのかはまだわかりませんが、アンインストールしたときにきれいに再設定されなかった AppArmor からの残りの (誤った) 構成である可能性があります。

于 2012-09-13T12:33:03.790 に答える