MySQL、オープンソース系、ウェブ系ネタ。BY句は使えないっぽい。Tengでは使えるみたいだけれど。resultsetでSQL組み立てれば出来るのかと思ったのだけれどどうも無理っぽい。ググっていたらテストにそれらしい記述があるのを発見。groupというメソッドがあるようだ。マニュアルに載ってないけど。使ってたのでこの方法で。Overflowという事で、MySQLでこんなSQLが使えるとの事。FIELD(id,4,3,1)なので、PerlのORMであるDBIx::SkinnyでSQL組み立てられるのか実験してみる。DBIx::Skinnyなんだから生のSQL使えばいい話だけど。一応使えると言う事で。2.1.4groongaのインストールgroongaはMacportsでインストールする。groongagroongaをインストールするとmysql55もインストールされるのでソースコードはこれを使う。ココを読むとソースコードからインストール出来るオプションが有るみたい。mysql55ソースのpathはこんな感じ/opt/local/var/macports/distfiles/mysql55/mysql-5.5.30.tar.gzなので、これをコピーして解凍する。最新版のmroongaをダウンロードします。ダウンロードして解凍します。読むと、groongaを/usr/libなど標準のパス以外にインストールした場合はPKG_CONFIG_PATHを指定する必要があります。ーーprefix=$HOME/localでgroongaをインストールした場合は以下のようにします。mysql_config/usr/local/bin/mysql_configMySQLのソースのpathは先程解凍したものとなりますので、configureは以下のようになります。makeを実行します。以下にmroongaがインストールされます。'ha_mroonga.so';を実行します。ちなみにいつの間にかMAMPのMySQLがバージョン5.5になっていたので、別途MySQLをインストールしなくてもmroongaが使えるのではないかと思い試してみたけど、make出来ないので諦めた。commentsTweetgroonga対応のMySQLをMAMPで使ってみる。MAMPApacheもMySQLも常時起動しておくのは微妙だし、でも使う時にはサクッと使いたい。そんな時にMAMPがあればローカルのApacheとMySQLを自動で起動してくれるから便利。phpMyAdminもついてるしね。インストールメモはこっち。MAMPデフォルトのMySQLではなく、先日インストールしたmroonga対応のMySQLをMANPで使えるようにする。パスワードrootで設定されているので同じように設定する(方が簡単?)ローカルのMySQLだからroot:rootでもおkでしょう。quitByeで、MySQLサーバを停止。中にあるMySQL起動スクリプトや停止スクリプト等を編集する。編集するファイルはcheckMysql.shrepairMysql.shstartMysql.shstop.shの4つ。オリジナルはコピーしておきましょう。普通にアイコンダブルクリックでMAMPを起動するだけ。ブラウザが立ち上がって下のような画面が出ればおk。phpMyAdminタブからエンジンを見てみるとストレージエンジンにmroongaが見える。commentsTweet全文検索したいからMacPortsでMySQL5.5とmroongaをインストール...make失敗...orz...となったけどなんとか入った※一番下の追記にありますが、Homebrewでインストールできるようになってます(2012/5/29リリース)MySQL5.5のインストールMANPでMySQL使えるんだけど、mroongaを(ローカルテストでも)使いたいので別にMySQLをインストールする。MySQLのバージョンは5.5をインストールしたいのでコマンドはこんな感じに。してしまうとMySQL5.1.6が入ります。OSXの場合はmysqlユーザーは作成済みなので改めて作成する必要はない。実際は_mysql?mysqlでユーザー指定しても_mysqlで処理される。以下にソケットファイルを作成するらしく、フォルダが無いので作成する。アクセス権も777を与える。/opt/local/var/run/mysql55改めてMySQLを起動。前提条件MySQLおよびgroongaが既にインストールされている必要があります。mroongaをビルドするためにはMySQLのソースコードも必要です。先日groongaはインストール済み。作業スペースとなるsrcフォルダを作成。makemakeでコケる...googleで漁っているとこんなの発見。Gist早速試してみる。いわぶろ(ろてん)ココらへんに解決策?もう神頼み。int)pthread_self())),に修正。検索すると修正箇所がすぐ分かる。修正した後にmakeしたら見事成功。/opt/local/lib/mysql55/plugin/ha_groonga.aインストールできたぽい。PLUGIN”コマンドでインストールします。あるので、MySQL起動してインストール&確認。sec)なんとか入ったみたい。参考ブログになお,MySQLへの組み込み後の動作については,何も確認を行っていないのであしからず,です.(影響があるとしても,ログ出力部分だけ?)とあるように、とりあえずmake出来て、インストールまでこぎつけたってシロモノです。追記:2012/6/2エラーが出た時にはこちらが参考になります。-日々クリエイション-また、mroongaはHomebrewでインストールできるようになったみたいです。こちらの方が簡単でしょう。DBIx::Class(DBIC)でtimestamp的なカラムの自動更新Mojoliciousでactionの前後に実行される独自のHookを作る。