WindowsAzureのUbuntu14.04LTSを使って、MariaDB+Mroonga環境を作ります。開発者用の簡易版…と言うか、自分のメモ版です。詳しくは、ブログを参照下さい。
基本は、Mroonga公式ドキュメントの2.15. MariaDBにバンドルしたソースコードからのインストールに従っていますが、若干の追加作業と情報の整理を行っています。
サーバーの準備
詳細オプションを指定して、WindowsAzureに仮想マシンを作成する。
簡易作成せずにAzureのOSギャラリーから選択する方法で行います。
仮想サーバーに導入するOSイメージを選択する
「UbuntuServer 14.04 LTS」を選択します。その後のオプションは、お好みで…
標準サーバーの設定
RubyOnRailsのサーバー設定で定評のある、Ruby on Rails with OIAXさんのサーバーの準備(Ubuntu Server 12.04 LTS編)の情報を基本としています。
・基本設定
% sudo apt-get update
% sudo apt-get upgrade
% sudo apt-get install build-essential automake ssh git
% sudo apt-get install zlib1g-dev libssl-dev libreadline6-dev libyaml-dev libxml2-dev libxslt-dev
% sudo apt-get install libsqlite3-dev libcurl4-openssl-dev
% sudo apt-get install apache2 openssh-server apache2-prefork-dev libapr1-dev libaprutil1-dev
% sudo apt-get install cmake libncurse-dev
・Mecatトークナイザーを使う場合
% sudo apt-get istalll mecab mecab-ipadic-utf8 mecab-jumandic-utf8
・後は、お好みで…
php5 (5.5.9+dfsg-1ubuntu4)
ruby1.9.3 (1.9.3.484-2ubuntu1) [universe]
など…
前提条件のGroonga
Groongaドキュメントにある、2.4.1. PPA(Personal Package Archive)に従って。
・一連の流れ
% sudo apt-get -y install software-properties-common
% sudo add-apt-repository -y universe
% sudo add-apt-repository -y ppa:groonga/ppa
% sudo apt-get update
% sudo apt-get -y install groonga
・Mecatトークナイザーを使う場合
% sudo apt-get -y install groonga-tokenizer-mecab
・MuninでGroongaの状態をモニターしたい場合
% sudo apt-get -y install groonga-munin-plugins
・MySQL互換のノーマライザーを使う場合
% sudo apt-get -y install groonga-normalizer-mysql
ソースコードの入手とコンパイル
ソースコードの入手
・作業フォルダーを作り、移動
% mkdir ~/src/
% cd ~/src/
・MariaDBを入手
% wget https://downloads.mariadb.org/interstitial/mariadb-10.0.10/kvm-tarbake-jaunty-x86/mariadb-10.0.10.tar.gz
・Mroongaを入手
% wget http://packages.groonga.org/source/mroonga/mroonga-4.02.tar.gz
コンパイルの準備とコンパイル
・tarballを展開してMroongaをストレージフォルダーに移動
% tar xvfz mariadb-10.0.10.tar.gz
% tar xvfz mroonga-4.02.tar.gz
% mv mroonga-4.02 mariadb-10.0.10/storage/mroonga/
・cmakeとmake
% cd mariadb-10.0.10
% cmake .
% make
% make install
cmake で失敗したら、表示されたエラーメッセージを良く読んで、対処した後に、CMakeCache.txtを削除してからcmakeからリトライします。
デーモンとして登録する
MariaDB導入フォルダの整備
導入フォルダーに移動して、グループ/ユーザーの設定とフォルダーのアクセス権利を整えます。
・グループ、ユーザー、アクセス権の整備
% cd /usr/local/mysql
% sudo groupadd mysql
% sudo useradd -g mysql mysql
% sudo chown -R mysql .
% sudo chgrp -R mysql .
/etc 回りの整備
・/etc/mysql/my.cnfを作成する
% sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.OLD
% sudo cp /usr/local/mariadb/support-files/my-medium.cnf /etc/mysql/my.cnf
・/etc/init.d/mysqldを作る
% sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
・sudo vi /etc/environment (パスを追加)
/usr/local/mysql/bin: を追加
1 PATH="/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:
/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
~
~
初期システムDBの作成と、デーモン起動
・初期システムDBの作成
% sudo /usr/local/mysql/scripts/mysql_install_db --user=mysql
・デーモン起動
% sudo /etc/init.d/mysqld start
Starting MySQL
. *
%
・rootパスワード設定とクライント起動
% mysqladmin -u root password 'PASSWORD'
% mysql -uroot -pPASSWORD
Welcome to the MariaDB monitor. Commands end with ; or ¥g.
Your MariaDB connection id is 4
Server version: 10.0.10-MariaDB-log Source distribution
Copyright (c) 2000, 2014, Oracle, SkySQL Ab and others.
Type 'help;' or '¥h' for help. Type '¥c' to clear the current input statement.
MariaDB [(none)]>
Mroongaの設定
mysqlクライアントからMroongaの設定を行います。
・ストレージプラグインの導入と確認
MariaDB [(none)]> use information_schema
Database changed
MariaDB [information_schema]> INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';
MariaDB [information_schema]> show engines;
以下に、
>>| mroonga | YES | CJK-ready fulltext search, column store | NO | NO |
の様な行があるはず ...
・各ユーザーファンクションの定義
MariaDB [information_schema]> CREATE FUNCTION last_insert_grn_id RETURNS INTEGER SONAME 'ha_mroonga.so';
MariaDB [information_schema]> CREATE FUNCTION mroonga_snippet RETURNS STRING SONAME 'ha_mroonga.so';
MariaDB [information_schema]> CREATE FUNCTION mroonga_command RETURNS STRING SONAME 'ha_mroonga.so';
MariaDB [information_schema]> CREATE FUNCTION mroonga_escape RETURNS STRING SONAME 'ha_mroonga.so';
動作確認…
導入は終わりましたので、動作確認を行って下さい。