mroongaをMySQL5.1からMySQL5.5にアップグレード

mroongaをMySQL5.1からMySQL5.5にアップグレード

mroongaはmysql用全文検索エンジンです
mysqlのプラグインとしてインストールができます

CentOS6だと標準でインストールされているMySQL5.1でしかインストールが出来ないのでやきもきしていましたが色々試したら5.5にバージョンを上げることが出来たのでやったことを書いておきます

元々入っていたものを一旦削除

~~~
sudo yum remove php* mysql* mecab*
~~~

mecabをインストール

~~~
sudo yum -y install mecab mecab-devel mecab-ipadic –disablerepo=* –enablerepo=groonga
~~~

リポジトリを追加

RHEL 6互換 MySQL 5.5用 mroongaのrpmを作成しました。 (groonga-dev,01021) – Groonga – fulltext search engine. (グルンガ) – SourceForge.JP
こちらを追加します

~~~
cd /etc/yum.repo.d/
sudo wget http://wing-net.ddo.jp/wing/6/EL6.wing.repo
~~~

※ググって出てきた他の方法はうまくいきませんでした

mysql5.5のインストール

~~~
sudo yum –enablerepo=wing install mysql55-server
sudo service mysqld start
sudo yum –enablerepo=wing install mysql55-mroonga
~~~

スキーマをmysql5.5へアップグレード

~~~
mysql_upgrade -uroot -p
~~~
先にmroongaのinstallコマンドを実行してもmysql_upgradeすると消えちゃうようなので先に実行する

mroongaを有効にする

~~~
$ mysql -uroot -p
mysql> INSTALL PLUGIN mroonga SONAME ‘ha_mroonga.so’;
mysql> CREATE FUNCTION last_insert_grn_id RETURNS INTEGER soname ‘ha_mroonga.so’;
mysql> CREATE FUNCTION mroonga_snippet RETURNS STRING soname ‘ha_mroonga.so’;
mysql> CREATE FUNCTION mroonga_command RETURNS STRING soname ‘ha_mroonga.so’;
~~~

show enginesをした時にmroongaのSupportがYESになっていれば大丈夫
~~~
mysql> show engines;
+——————–+———+—————————————————————-+————–+——+————+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+——————–+———+—————————————————————-+————–+——+————+
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| mroonga | YES | CJK-ready fulltext search, column store | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| FEDERATED | YES | Federated MySQL storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
+——————–+———+—————————————————————-+————–+——+————+
10 rows in set (0.00 sec)
~~~

設定を反映するために再起動

~~~
sudo service mysqld restart
~~~

再起動に失敗した時はmysqld.logを見て起動しない原因を探る

PHPを入れなおす

~~~
sudo yum install –enablerepo=remi php php-common php-mysql php-devel php-pear php-mbstring php-gd php-pecl-apc
~~~

mysqlをremoveした時にpostfixも削除されているので入れなおすのを忘れないこと

mysql5.5で動きました

remiから入れたPHPとMySQL5.5の組み合わせで動くようになりました(´∀`)
~~~
$ mysql –version
mysql Ver 14.14 Distrib 5.5.30, for Linux (x86_64) using readline 5.1
~~~