March 30, 2007

MySQL + Senna on CentOS on coLinux

MySQLさてRuby on Railsでも勉強しようかと思ったらどうやらMySQLが古いらしい。
てことでMySQLもソースからmake。

せっかくなので、気になっていた全文検索エンジンSennaもインストールすることにする。

【前提】
OS:CentOS on coLinux (baseインストール)
開発環境:gccのみインストール済
MeCab:0.95
Senna:1.0.3
MySQL:5.0.37


まずは古いMySQLを削除。
#yum remove mysql


MySQL実行ユーザを作成。
#groupadd mysql
#useradd -g mysql mysql



開発環境を整えるためにgcc-c++、gcc-java、gcc-objc、gcc4、gcc4-c++、autoconf、libtool、automake、bison、ncursesをyumでインストール。
#yum -y install gcc-c++ gcc-java gcc-objc gcc4 gcc4-c++ autoconf libtool automake bison ncurses-devel


【MeCabのインストール】
MeCabは形態素解析エンジン。以下のコマンドを実行してインストール。
(例)
#wget http://nchc.dl.sourceforge.net/sourceforge/mecab/mecab-0.95.tar.gz
#tar zxvf mecab-0.95.tar.gz
#cd mecab-0.95
#./configure --prefix=/usr --with-charset=utf8
#make
#make install



【MeCabの辞書をインストール】
以下のコマンドを実行してダウンロード+インストール。
(例)
#wget http://jaist.dl.sourceforge.net/sourceforge/mecab/mecab-ipadic-2.7.0-20060707.tar.gz
#tar zxvf mecab-ipadic-2.7.0-20060707.tar.gz
#cd mecab-ipadic-2.7.0-20060707
#./configure --prefix=/usr --with-charset=utf8
#make
#make install



【Sennaのインストール】
以下のコマンドを実行してダウンロード+インストール。
(例)
#wget http://osdn.dl.sourceforge.jp/senna/24573/senna-1.0.3.tar.gz
#tar zxvf senna-1.0.3.tar.gz
#cd senna-1.0.3
#./configure --prefix=/usr
#make
#make install



【MySQLのインストール】
SennaとMySQLを協調させるためにまずはTritonnのPatchをダウンロード。
(例)
#wget http://keihanna.dl.sourceforge.jp/tritonn/24589/tritonn-1.0.1.mysql-5.0.37.senna-1.0.3.tar.gz
#tar zxvf tritonn-1.0.1.mysql-5.0.37.senna-1.0.3.tar.gz



MySQLのソース配布版をダウンロード。
(例)
#wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.37.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/


MySQLにPatchを適用。
#tar zxvf mysql-5.0.37.tar.gz
#cd mysql-5.0.37
#patch -p1 < ../tritonn-1.0.1.mysql-5.0.37.senna-1.0.3/mysql-5.0.37.senna.diff



configure前の処理をいくつか。
#libtoolize -c -f
#aclocal-1.9
#autoheader
#automake-1.9 -c -a -i
#autoconf
#touch sql/sql_yacc.yy



configureを実行。
#./configure \
--prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--libexecdir=/usr/local/mysql/bin \
--enable-thread-safe-client \
--enable-local-infile \
--enable-assembler \
--with-pic \
--with-fast-mutexes \
--disable-shared \
--with-zlib-dir=bundled \
--with-big-tables \
--with-yassl \
--with-readline \
--with-archive-storage-engine \
--with-blackhole-storage-engine \
--with-example-storage-engine \
--with-federated-storage-engine \
--with-innodb \
--with-extra-charsets=complex \
--with-senna --with-mecab



んでもってmakeしてmake install。
#make
#make install



【MySQLの初期設定】
MySQL特権テーブルを生成。
#./scripts/mysql_install_db


アクセス権限の設定。
#chown -R root /usr/local/mysql
#chown -R mysql /usr/local/mysql/data
#chgrp -R mysql /usr/local/mysql



雛形設定ファイルをmy.cnfとしてコピー。
#cp /usr/local/mysql/share/mysql/my-medium.cnf /usr/local/mysql/data/my.cnf



my.cnfの[mysqld]と[mysql]部分にそれぞれ以下を追加。
default-character-set = utf8


MySQL の自動起動スクリプトを/etc/rc.d/init.d/mysql ファイルとしてコピー。
#install -o root -g root -m 755 /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql


システム起動時に自動起動をしたければコピーした自動起動スクリプトの自動起動設定をする。
#chkconfig --add mysql


サービスを起動する場合は以下のコマンドを実行。
#/etc/rc.d/init.d/mysql start


MySQLのrootパスワードを設定。
#/usr/local/mysql/bin/mysqladmin -u root password '**********'
※MySQLのrootとLinuxのrootは異なる


mysqlクライアントを利用してサーバに接続。
#/usr/local/mysql/bin/mysql -u root -p
Enter password: **********



mysqlクライアントを利用して新規ユーザ'newuser'などを追加してみる。
mysql> GRANT ALL PRIVILEGES ON *.* TO newuser@localhost IDENTIFIED BY '**********' WITH GRANT OPTION;



ごめん、正直MySQL実行ユーザって何のためにいるのかまだわかってない。

もし、通りかかった方でわかる方がいましたら教えてくださいな。


【参考URL】
http://qwik.jp/tritonn/userguide.html
http://honana.com/mysql_50
http://centossrv.com/mysql.shtml

トラックバックURL

http://trackback.blogsys.jp/livedoor/k1LoW/53521855

コメント一覧

1. Posted by lewisf   May 02, 2012 15:05
1 Although She Hasn�t Been The Star Of Any. <a href=http://manyarticles.info/celebrity-stolen-dvds.html>manyarticles.info/celebrity-stolen-dvds</a>

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星