Kouhei Sutou
kou****@clear*****
2012年 6月 27日 (水) 10:14:16 JST
須藤です。 In <4FCEE****@rozet*****> "[groonga-dev,00932] Re: mroongaのファイルの置き場所の指定について" on Wed, 06 Jun 2012 14:44:12 +0900, 磯部 和広 <k-iso****@rozet*****> wrote: > というわけで、提案としては > ・デフォルトでは、今のままとする > ・オプションで指定した場合、mysql/data/mroonga.dataに格納する > ・補足オプションで、格納ディレクトリ名をユーザーが決められる > というのでどうでしょうか。 実験的な機能としてmroonga_database_path_prefixという変数を用 意しました。 以下のようにすると SET GLOBAL mroonga_database_path_prefix = "mroonga.data/"; USE db; CREATE TABLE counts ( id INT PRIMARY KEY AUTO_INCREMENT ) ENGINE=mroonga; 通常は $MYSQL_DATA_DIR/db.mrn というファイルができるのですが、以下のようにmroonga.data/ディ レクトリ以下にmroonga用のデータベースができるようになってい ます。 $MYSQL_DATA_DIR/mroonga.data/db.mrn ただ、仕様的に検討しきれていないところがあるので、これを実験 的な機能ではなくサポートされている正式な機能とするには、もう 少し作業が必要そうです。例えば、以下のような懸念事項がありま す。 * ディレクトリがない場合は自動で作るようになっているが、 作るのが適切なのか。(便利なのはわかるがセキュリティ的に どうだろう。) * ディレクトリを0700 & umaskで作成するがこれは適切か。 (MySQL本体が設定しているパーミッションにあわせた方が良 さそうだがまだ調べていない) * "/tmp/mroonga.data/"のように絶対パスでも動くようになって いるが本当にいいのか。(セキュリティ的に) * データを特定のディレクトリ以下に配置したい場合は "mroonga.data/"というように最後に必ず「/」を付けるように しているがこれでいいのか。("mroonga.data/mroonga"みたいに指 定したら"mroonga.data/mroonga.db.mrn"のようにファイル名 のプレフィックスも指定できるようにこういう仕様にした) * データベースを開くときは必ずデータベース作成時と同じ値を mroonga_database_path_prefixに指定しておかないとデータベー スを見つけられないが、その制限は問題ないか。 (↑の例のようにSQLで設定するのではなくmy.cnfで設定する ことを推奨する?SQLで設定するとmysqldを再起動したら消え てしまって問題が発生する。) 他にも懸念事項がでてきそうな気がしているので、もしかしたら御 蔵入りになるかもしれませんが、とりあえず、次のリリース版を試 してみてもらえますか?試してみて感じたことなどがあれば教えて もらえるとうれしいです。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) groongaサポート: http://groonga.org/ja/support/ プログラミングが好きなソフトウェア開発者を募集中: http://www.clear-code.com/recruitment/