facebook twitter hatena line email

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

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(データベースがdropでフリーズする場合)
(データベース削除時以下メッセージが出る場合)
行99: 行99:
  
 
===データベース削除時以下メッセージが出る場合===
 
===データベース削除時以下メッセージが出る場合===
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.
+
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/
 
  # cd /var/lib/mysql/

2022年9月24日 (土) 01:16時点における版

事前に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

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/

データベース削除時以下メッセージが出る場合

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

参考

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