3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ubuntu14.04LTS に MariaDB+Mroonga 環境を作る

Last updated at Posted at 2014-05-13

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';

動作確認…

導入は終わりましたので、動作確認を行って下さい。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?