facebook twitter hatena line google mixi email

Mroonga/インストール

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

事前にgroongaをinstallしておく

linux/groongaインストール [ショートカット]

既存mysql削除

sudo yum list installed | grep mysql #削除mysql確認
sudo yum remove mysql*

古いmroongaがあれば削除

$ sudo yum list installed | grep mroonga
mysql57-community-mroonga.x86_64   5.11-2.el6                 @groonga
$ sudo yum remove mysql-community-mroonga.x86_64

mroongaインストール(mysql5.7)

% sudo yum install -y https://packages.groonga.org/centos/groonga-release-1.3.0-1.noarch.rpm
% sudo yum install -y http://repo.mysql.com/mysql-community-release-el6-7.noarch.rpm
% sudo yum install -y yum-utils
% sudo yum-config-manager --disable mysql56-community
% sudo yum-config-manager --enable mysql57-community
% sudo yum install -y --enablerepo=epel mysql57-community-mroonga
$ sudo yum list installed | grep mroonga
mysql57-community-mroonga.x86_64   7.02-1.el6                 @groonga
(% sudo /sbin/service mysqld start)

mecabを使う場合

% sudo yum install -y --enablerepo=epel groonga-tokenizer-mecab

mroongaインストール(mysql5.6)

% sudo yum install -y http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
% sudo yum install -y http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
% sudo yum makecache
% sudo yum install -y mysql-community-server
% sudo /sbin/service mysqld start
% sudo yum install -y mysql-community-mroonga
$ sudo yum list installed | grep mroonga
mysql-community-mroonga.x86_64   5.05-1.el6                   @groonga

mroongaインストール(Percona編)

Percona編は一度インストールしたがshow tableで以下エラーが出て失敗したので上のmysql-community-serverでインストールすることをお勧めする。

ERROR 2013 (HY000): Lost connection to MySQL server during query 
% sudo yum install -y http://packages.groonga.org/centos/groonga-release-1.1.0-1.noarch.rpm
$ sudo yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
% sudo yum makecache
% sudo yum install -y Percona-Server-server-56
% sudo /sbin/service mysql start
% sudo yum install -y percona-server-56-mroonga
$ sudo yum list installed | grep mroonga
percona-server-56-mroonga.x86_64   5.03-1.el6                        @groonga

groonga-tokenizer-mecabをインストール:

sudo yum install -y groonga-tokenizer-mecab

mroonga_commandのインストール

mysql> CREATE FUNCTION mroonga_command RETURNS STRING SONAME 'ha_mroonga.so';

mysqlにmroongaエンジンインストール

mysql>INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';

mroongaインストール確認

mysql>show engines;
| mroonga            | YES     | CJK-ready fulltext search, column store                        | NO           | NO   | NO         |

ha_mroonga.so: undefined symbolエラー

mroongaとgroongaが同一のバージョンでない可能性があるのでgroongaのバージョンを確認する

mysql > INSTALL PLUGIN Mroonga SONAME 'ha_mroonga.so';
ERROR 1126 (HY000): Can't open shared library '/usr/lib64/mysql/plugin/ha_mroonga.so' (errno: 2 /usr/lib64/mysql/plugin/ha_mroonga.so: undefined symbol: grn_ii_estimate_size_for_lexicon_cursor)
$ groonga --version
groonga 5.0.6 [linux-gnu,x86_64,utf8,match-escalation-threshold=0,nfkc,mecab,onigmo,zlib,epoll]

データベースファイルの場所

$ ls /var/lib/mysql/*.mrn.*

データベースがdropでフリーズする場合

  1. 以下コマンドでmroongaを削除して通常のmysqlにしてdropする。
sudo yum remove mysql-community-mroonga
  1. 対象データベースファイルを削除
cd /var/lib/mysql/

VersionUp注意

4.09から5.05に変更したところ"NO_ZERO_DATE"がonになっているようでdatetimeのdefault '0000-00-00 00:00:00'が許可されておらず以下エラーがでていた。default '0000-01-01 00:00:00'にすることで修正。

Numeric value out of range: 1264 Out of range value for column

参考

公式インストールcentos6 http://mroonga.org/ja/docs/install/centos.html#centos-6-with-percona-server-package