shimxmemo

メモをのこすよ!

Tritonn(Senna+MySQL)のインストール

業務上必要になったのでいれましたよ。

ソフトウェアとバージョン

備考

  • 文字コード
    今回Shift-jisで入れてますので注意。
    サービス側がsjisなので揃えました。sjisですよsjis
  • ポート
    複数のMySQLを共存させるので分けてます。
    指定したポートは忘れずに開放すること。
  • Tritonn 1.0.12 + MySQL 5.0.87
    を入れたかったのですが、makeでこけ、bison等入れないといけない為、断念。
    サービス稼働中のサーバに入れるしそこまで5.0.87にこだわる理由がなかったので。
    cf.)
    Debiantritonnをインストールしようとしたらコケた
    http://www.l2tp.org/?p=2344

ソースダウンロード

cd /usr/local/src
wget "http://mecab.googlecode.com/files/mecab-0.991.tar.gz" 
wget "http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz" 
wget "http://globalbase.dl.sourceforge.jp/senna/46945/senna-1.1.5.tar.gz" 
wget "http://globalbase.dl.sourceforge.jp/tritonn/44474/tritonn-1.0.12-mysql-5.0.87.tar.gz" 
wget "http://globalbase.dl.sourceforge.jp/tritonn/36449/tritonn-1.0.12-mysql-5.0.67.tar.gz" 

Mecab

tar xvzf mecab-0.991.tar.gz
cd mecab-0.991
make clean
./configure --prefix=/usr/local/mecab --with-charset=sjis | tee configure.log.2011-01-20

make 2>&1 | tee make.log.2011-01-20
make install 2>&1 | tee make-install.log.2011-01-20
cd ../

Mecab IPAdic(辞書)

tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
cd mecab-ipadic-2.7.0-20070801
make clean
./configure --prefix=/usr/local/mecab/ipadic --with-mecab-config=/usr/local/mecab/bin/mecab-config --with-charset=sjis | tee configure.log.2011-01-20

make 2>&1 | tee make.log.2011-01-20
make install 2>&1 | tee make-install.log.2011-01-20
cd ../

Senna

tar zxvf senna-1.1.5.tar.gz
cd senna-1.1.5
make clean
./configure --prefix=/usr/local/senna --with-mecab --with-mecab-config=/usr/local/mecab/bin/mecab-config --with-charset=sjis | tee configure.log.2011-01-20

make 2>&1 | tee make.log.2011-01-20
make install 2>&1 | tee make-install.log.2011-01-20
cd ../

Tritonn + MySQL

MyISAMしか使えないので、InnoDBの設定外して良いかも。

tar zxvf tritonn-1.0.12-mysql-5.0.67.tar.gz
cd tritonn-1.0.12-mysql-5.0.67
./configure --prefix=/usr/local/mysql_senna \
--enable-thread-safe-client \
--with-charset=sjis \
--with-extra-charsets=all \
--with-readline \
--with-tcp-port=XXXXX \
--with-unix-socket-path=/tmp/mysqlXXXXX.sock \
--with-plugins=max \
--with-mecab=/usr/local/mecab \
--with-senna=/usr/local/senna | tee configure.log.2011-01-20

make 2>&1 | tee make.log.2011-01-20
make install 2>&1 | tee make-install.log.2011-01-20

MySQL設定

mkdir /usr/local/mysql_senna/var
mkdir /usr/local/mysql_senna/etc
vi /usr/local/mysql_senna/etc/my.cnf

my.cnf内容

[client]
#password = [your_password]
port     = XXXXX
socket   = /tmp/mysqlXXXXX.sock

# The MySQL server
[mysqld]
server-id               = YYYYY
port                    = XXXXX
default-character-set   = sjis

socket                  = /tmp/mysqlXXXXX.sock
log                     = /usr/tmp/sqlXXXXX.log
log-slow-queries        = /usr/tmp/slowXXXXX.log

connect_timeout         = 12
key_buffer              = 712M
max_allowed_packet      = 1M
max_connections         = 3206
wait_timeout            = 1
table_cache             = 5000
sort_buffer_size        = 4M
read_buffer_size        = 4M
myisam_sort_buffer_size = 512M
thread_cache            = 8
query_cache_size        = 32M
thread_concurrency      = 8

skip-name-resolve
skip-locking
log-bin

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer       = 256M
sort_buffer_size = 256M
read_buffer      = 2M
write_buffer     = 2M

[myisamchk]
key_buffer       = 256M
sort_buffer_size = 256M
read_buffer      = 2M
write_buffer     = 2M

[mysqlhotcopy]
interactive-timeout

MySQL起動

chown -R mysql:mysql /usr/local/mysql_senna
/usr/local/mysql_senna/bin/mysql_install_db --user=mysql --skip-name-resolve
/usr/local/mysql_senna/share/mysql/mysql.server start

他のサーバからデータ移行する場合

mysqlテーブルをさくっと移植。
FLUSH PRIVILEGESを忘れずに。

/usr/local/mysql_senna/bin/mysqldump -u hoge -p -h fuga --default-character-set=binary --opt --single-transaction mysql > /tmp/fuga_mysql.dmp

/usr/local/mysql_senna/bin/mysql mysql --default-character-set=binary < /tmp/fuga_mysql.dmp

/usr/local/mysql_senna/bin/mysql
mysql> FLUSH PRIVILEGES;