facebook twitter hatena line email

「Mroonga/インストール」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(VersionUp注意)
(mroongaログ)
行129: 行129:
  
 
==mroongaログ==
 
==mroongaログ==
tail -f /var/lib/mysql/groonga.log
+
tail -f /var/lib/mysql/groonga.log
  
 
==参考==
 
==参考==
 
公式インストールcentos6 http://mroonga.org/ja/docs/install/centos.html#centos-6-with-percona-server-package
 
公式インストールcentos6 http://mroonga.org/ja/docs/install/centos.html#centos-6-with-percona-server-package

2022年9月29日 (木) 01:58時点における版

事前に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インストール(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

mroongaインストール(Percona編)

% 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を再インストールしてみるとインストールできた。

mroongaインストール(Percona編) 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

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でフリーズする場合

  1. 以下コマンドでmroongaを削除して通常のmysqlにしてdropする。
sudo yum remove mysql-community-mroonga
  1. 対象データベースファイルを削除
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.
  1. 対象以下を実行してデータベースファイルを削除
# 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