facebook twitter hatena line email

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

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(mroongaインストール(mysql5.7))
("journalctl -xe"エラーが出る)
 
(同じ利用者による、間の28版が非表示)
行5: 行5:
 
  sudo yum list installed | grep mysql #削除mysql確認
 
  sudo yum list installed | grep mysql #削除mysql確認
 
  sudo yum remove 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===
 +
<pre>
 +
% 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)
 +
</pre>
 +
最初失敗したが、/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)==
 
==mroongaインストール(mysql5.7)==
  % sudo yum install -y https://packages.groonga.org/centos/groonga-release-1.3.0-1.noarch.rpm
+
  % sudo yum install -y https://packages.groonga.org/centos/groonga-release-1.5.2-1.noarch.rpm
  % sudo yum install -y http://repo.mysql.com/mysql-community-release-el6-7.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 install -y yum-utils
 
  % sudo yum-config-manager --disable mysql56-community
 
  % sudo yum-config-manager --disable mysql56-community
行14: 行57:
 
  % sudo yum install -y --enablerepo=epel mysql57-community-mroonga
 
  % sudo yum install -y --enablerepo=epel mysql57-community-mroonga
 
  $ sudo yum list installed | grep mroonga
 
  $ sudo yum list installed | grep mroonga
  mysql57-community-mroonga.x86_64  7.02-1.el6                @groonga
+
  mysql-community-5.7-mroonga.x86_64
 
  (% sudo /sbin/service mysqld start)
 
  (% 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"エラーが出る===
 +
<pre>
 +
# 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.
 +
</pre>
 +
ログを確認する
 +
tail -f /var/log/mysqld.log
 +
 +
/var/lib/mysqlを消して、mroongaを再インストールしてみる
 +
 +
以下エラーの場合
 +
[ERROR] [MY-012267] [InnoDB] Could not set the file size of './ibtmp1'. Probably out of disk space
 +
ディスク容量を見て、逼迫していれば、容量を減らす。
  
 
==mroongaインストール(mysql5.6)==
 
==mroongaインストール(mysql5.6)==
行27: 行94:
 
  mysql-community-mroonga.x86_64  5.05-1.el6                  @groonga
 
  mysql-community-mroonga.x86_64  5.05-1.el6                  @groonga
  
==mroongaインストール(Percona編)==
+
==groonga-tokenizer-mecabをインストール:==
Percona編は一度インストールしたがshow tableで以下エラーが出て失敗したので上のmysql-community-serverでインストールすることをお勧めする。
+
sudo yum install -y groonga-tokenizer-mecab
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
+
==mroonga_commandのインストール==
  $ sudo yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
+
  mysql> CREATE FUNCTION mroonga_command RETURNS STRING SONAME 'ha_mroonga.so';
% sudo yum makecache
+
 
% sudo yum install -y Percona-Server-server-56
+
==mysqlにmroongaエンジンインストール==
  % sudo /sbin/service mysql start
+
  mysql>INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';
  % sudo yum install -y percona-server-56-mroonga
+
 
  $ sudo yum list installed | grep mroonga
+
==mroongaインストール&バージョン確認==
  percona-server-56-mroonga.x86_64  5.03-1.el6                       @groonga
+
  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エラー==
 
==ha_mroonga.so: undefined symbolエラー==
行55: 行124:
 
#対象データベースファイルを削除
 
#対象データベースファイルを削除
 
  cd /var/lib/mysql/
 
  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注意==
 
==VersionUp注意==
 
4.09から5.05に変更したところ"NO_ZERO_DATE"がonになっているようでdatetimeのdefault '0000-00-00 00:00:00'が許可されておらず以下エラーがでていた。default '0000-01-01 00:00:00'にすることで修正。
 
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
 
  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
 
公式インストールcentos6 http://mroonga.org/ja/docs/install/centos.html#centos-6-with-percona-server-package

2022年10月19日 (水) 12:03時点における最新版

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

ログを確認する

tail -f /var/log/mysqld.log

/var/lib/mysqlを消して、mroongaを再インストールしてみる

以下エラーの場合

[ERROR] [MY-012267] [InnoDB] Could not set the file size of './ibtmp1'. Probably out of disk space

ディスク容量を見て、逼迫していれば、容量を減らす。

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

  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