Mroonga/インストール
提供: 初心者エンジニアの簡易メモ
目次
- 1 事前にgroongaをinstallしておく
- 2 既存mysql削除
- 3 古いmroongaがあれば削除
- 4 古いmariadbがあれば削除
- 5 mroongaインストール(Percona編)
- 6 mroongaインストール(mysql5.7)
- 7 mroongaインストール(mysql5.7)
- 8 mroongaインストール(mysql5.6)
- 9 groonga-tokenizer-mecabをインストール:
- 10 mroonga_commandのインストール
- 11 mysqlにmroongaエンジンインストール
- 12 mroongaインストール&バージョン確認
- 13 ha_mroonga.so: undefined symbolエラー
- 14 データベースファイルの場所
- 15 データベースがdropでフリーズする場合
- 16 VersionUp注意
- 17 mroongaログ
- 18 参考
事前に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
古いmariadbがあれば削除
以下エラーが出る
エラー: パッケージ: 2:postfix-2.10.1-9.el7.x86_64
mariadb確認方法
$ rpm -qa | grep -i mariadb $ sudo yum list installed | grep mariadb mariadb-libs.x86_64 1:5.5.68-1.el7 @base
mariadb削除方法
$ sudo yum remove mariadb*
mroongaインストール(Percona編)
mysql8
% sudo yum install -y https://packages.groonga.org/centos/groonga-release-latest.noarch.rpm % sudo yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm % sudo percona-release setup ps80 % sudo yum install -y --enablerepo=epel percona-server-8.0-mroonga (% sudo systemctl start mysqld)
最初失敗したが、/var/lib/mysqlを消して、mroongaを再インストールしてみるとインストールできた。
mysql5.6
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
mroongaインストール(mysql5.7)
最新インストール https://mroonga.org/ja/docs/install/centos.html
mroongaインストール(mysql5.7)
% sudo yum install -y https://packages.groonga.org/centos/groonga-release-1.5.2-1.noarch.rpm % sudo yum install -y https://repo.mysql.com/mysql80-community-release-el7-5.noarch.rpm # mysql80とあるけど、mysql5.7のインストールはこれで良い % 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 mysql-community-5.7-mroonga.x86_64 (% sudo /sbin/service mysqld start)
mecabを使う場合
% sudo yum install -y --enablerepo=epel groonga-tokenizer-mecab
mroongaインストール時"V4 RSA/SHA256 Signature"なエラーが出る場合
エラー詳細
mysql-community-client-5.7.39-1.el7.x86_64.rpm: ヘッダー V4 RSA/SHA256 Signature、鍵 ID 3a79bd29: NOKEY
対応方法
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
参考:https://blog.katsubemakito.net/mysql/mysql-update-error-gpg
"journalctl -xe"エラーが出る
# start mysqld.service Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
/var/lib/mysqlを消して、mroongaを再インストールしてみる
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
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 VARIABLES LIKE 'mroonga_version'; | mroonga_version | 12.07 | 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でフリーズする場合
- 以下コマンドでmroongaを削除して通常のmysqlにしてdropする。
sudo yum remove mysql-community-mroonga
- 対象データベースファイルを削除
cd /var/lib/mysql/
データベース削除時以下メッセージが出る場合
ERROR 1016 (HY000): mroonga: database: open: The database maybe broken. We recommend you to recreate the database. If the database isn't broken, you can remove this error by running 'groonga example1.mrn table_remove mroonga_operations' on server. But the latter isn't recommended.
- 対象以下を実行してデータベースファイルを削除
# cd /var/lib/mysql/ # groonga example1.mrn mysql > drop database example1;
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
mroongaログ
tail -f /var/lib/mysql/groonga.log
参考
公式インストールcentos6 http://mroonga.org/ja/docs/install/centos.html#centos-6-with-percona-server-package