MySQL5.7の全文検索エンジンを試すためにやったこと

MySQL 5.7 の導入

sudo rpm --import http://dev.mysql.com/doc/refman/5.7/en/checking-gpg-signature.html

# mysql 5.6がすでに入っていたので
sudo rpm -e mysql-community-release

sudo rpm -Uvhf http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
sudo yum --enablerepo='mysql57-community*' install mysql-community-server
sudo mysql_upgrade 
sudo service mysqld restart

全文検索の準備

検索用のカラム追加

ALTER TABLE dtb_products ADD fulltext_column TEXT AS (CONCAT_WS(' ', name, comment3, main_comment, main_list_comment)) STORED;

全文検索用のINDEXを張る WITH PARSER ngramがポイント

ALTER TABLE dtb_products ADD FULLTEXT KEY (fulltext_column) WITH PARSER ngram;

で、検索

select * from dtb_products where match(fulltext_column) against('マドレラフェルギノーサ');

無事、マドレラ・フェルギノーサ がヒットしました(^o^)
この、「・」問題をどうにか解決したかったのです

EC-CUBE3の外部キー制約に立ち向かう方法

EC-CUBE3はORMを使っていることもあり外部キー制約がバリバリ使われています
それがいいことなのかどうなのかは今のところ恩恵を受けていないのでよくわかりませんがデメリットはとても感じています
続きを読む EC-CUBE3の外部キー制約に立ち向かう方法

EC-CUBE2.13のMySQL接続をmysqlからmysqliに変更する手順

世界のウミウシは実はEC-CUBEで出来ています
もうほとんどわかりませんが見る人が見ればわかるんじゃないかな・・・?

というわけでパフォーマンスチューニングやカスタマイズをするとEC-CUBE系のネタとして使えるのです
今回はxdebugで一番コストがかかっていたmysql接続部分をphp-mysqlかphp-mysqliに変えてみた話です

続きを読む EC-CUBE2.13のMySQL接続をmysqlからmysqliに変更する手順

Illegal mix of collations for operation ‘UNION’

ごくごく稀にしかUNIONなんて使わないんですが、使った時に限って何かが起こる(^_^;)
手元の環境では何事もなかったのですが、別環境に反映したらエラーが出ました
~~~
Illegal mix of collations for operation ‘UNION’~~~

続きを読む Illegal mix of collations for operation ‘UNION’

EC-CUBE2.12.6から2.13.1にアップグレードする為のSQL

EC-CUBEはアップグレード機能がついていないので基本的には自力での作業が必要になります
WordPressみたいに親切じゃないので軽い気持ちでやると壊れますのでかならずバックアップ取ってからにしてくださいね

続きを読む EC-CUBE2.12.6から2.13.1にアップグレードする為のSQL

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

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

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

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