*MySQL+Toritton インストール [#kdc5c860]
#contents2_1(compact=true,depth=1-2)


&br;
*構成 [#nd1a3a27]
-Mecab 0.97
-Senna 1.1.4
-MySQL 5.0.67
-Tritonn 1.0.12

&br;
*確認 [#b03981cf]
**1) インストールされているモジュールを確認 [#gd0490b7]
 $ yum list installed | grep mysql

***インストールされていた場合は削除する [#r20c3bb6]
 $ sudo /etc/init.d/mysqld stop
 $ sudo yum remove mysql mysql-devel mysql-server

**2) apache 関連がインストールされているか確認 [#mfd87917]
 $ yum list installed | grep apr
 $ yum list installed | grep apr-util

***インストールされていなかった場合はインストールする [#x94bfb83]
試してないけど、これかな。
 $ sudo yum install appr
 $ sudo yum install apr-util


**3) mysql ユーザが存在するか確認 [#h4f70b80]
 $ sudo cut -d: -f1 /etc/passwd

***ユーザが存在した場合は mysql ユーザのグループの確認 [#i53b5b10]
 $ id mysql

***ユーザが存在しなかった場合は作成する [#kf0dc740]
 $ sudo groupadd mysql
 $ sudo useradd -g mysql mysql


&br;
*インストールに必要なモジュールをインストール [#l000bfa0]
環境にあわせて適当にインストールしてください。

 $ sudo yum install ncurses-devel
 $ sudo yum install libtool
 $ sudo yum install libtool-ltdl
 $ sudo yum install libtool-ltdl-devel
 
 $ sudo yum install readline-devel
 $ sudo yum install libxslt-devel
 $ sudo yum install libxml2-devel
 
 $ sudo yum install gcc-c++
 $ sudo yum install gcc-java
 $ sudo yum install gcc-objc
 $ sudo yum install gcc4
 $ sudo yum install gcc4-c++
 $ sudo yum install autoconf
 $ sudo yum install libpng-devel
 $ sudo yum install libjpeg-devel
 $ sudo yum install libmcrypt-devel
 $ sudo yum install ImageMagick-devel
 $ sudo yum install automake
 $ sudo yum install bison


&br;
*Mecab インストール [#o18aa615]
**インストール [#xb1fc1d3]
 $ cd /usr/local/src
 $ wget http://nchc.dl.sourceforge.net/sourceforge/mecab/mecab-0.97.tar.gz
 $ tar zxvf mecab-0.97.tar.gz
 $ cd mecab-0.97
 $ ./configure --prefix=/usr/local/mecab --with-charset=utf8
 $ make
 $ sudo make install


**共有ライブラリに追加 [#j0f32740]
***ファイルの修正 [#f36fa7b8]
mecab.conf を新たに作成し「/usr/local/mecab/lib」を記述する。
 $ sudo vim /etc/ld.so.conf.d/mecab.conf
 
 /usr/local/mecab/lib

***ldconfig 更新 [#m72b6302]
 $ sudo ldconfig
 
***確認 [#e1c9b6e2]
 $ ldconfig -p | grep 'mecab'


&br;
*Mecab の辞書インストール [#f034d7d8]
 $ cd /usr/local/src
 $ wget http://nchc.dl.sourceforge.net/sourceforge/mecab/mecab-ipadic-2.7.0-20070801.tar.gz
 $ tar zxvf mecab-ipadic-2.7.0-20070801.tar.gz
 $ cd mecab-ipadic-2.7.0-20070801
 $ ./configure --prefix=/usr/local/mecab --with-charset=utf8 --with-mecab-config=/usr/local/mecab/bin/mecab-config 
 $ make 
 $ sudo make install


&br;
*Senna インストール [#ca655b72]
**インストール [#wa7874da]
 $ cd /usr/local/src
 $ wget http://globalbase.dl.sourceforge.jp/senna/33763/senna-1.1.4.tar.gz
 $ tar zxvf senna-1.1.4.tar.gz
 $ cd senna-1.1.4
 $ ./configure --prefix=/usr/local/senna --with-charset=utf8 --with-mecab --with-mecab-config=/usr/local/mecab/bin/mecab-config
 $ make
 $ sudo make install

**共有ライブラリに追加 [#r6a4a41b]
***ファイルの修正 [#g731597a]
senna.conf を新たに作成し「/usr/local/senna/lib」を記述する。
 $ sudo vim /etc/ld.so.conf.d/senna.conf
 
 /usr/local/senna/lib

***ldconfig 更新 [#vb876f7e]
 $ sudo ldconfig
 
***確認 [#zd2ec63f]
 $ ldconfig -p | grep 'senna'



&br;
*MySQL + Toritonn インストール [#xe1f992d]
**インストール [#gf516eda]
 $ cd /usr/local/src
 $ wget http://osdn.dl.sourceforge.jp/tritonn/36449/tritonn-1.0.12-mysql-5.0.67.tar.gz
 $ 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 
 --libexecdir=/usr/local/mysql/bin 
 --localstatedir=/home/mysql/data 
 --enable-thread-safe-client 
 --enable-assembler 
 --enable-local-infile 
 --with-charset=utf8 
 --with-collation=utf8_general_ci 
 --with-extra-charsets=complex 
 --with-pic 
 --with-pthread 
 --with-mysqld-user=mysql 
 --with-mecab=/usr/local/mecab 
 --with-senna=/usr/local/senna

 $ make
 $ sudo make install



&br;
*設定 [#pb1553a1]
**共有ライブラリに追加 [#mbd63725]
***ファイルの修正 [#f5cf823f]
mysql.conf を新たに作成し「/usr/local/mysql/lib/mysql」を記述する。
 $ sudo vim /etc/ld.so.conf.d/mysql.conf
 
 /usr/local/mysql/lib/mysql

***ldconfig 更新 [#n8bf30a9]
 $ sudo ldconfig
 
***確認 [#q2604f49]
 $ ldconfig -p | grep 'mysql'


**環境変数の設定(パスを通す) [#i6e13fa2]
***ファイルを修正する [#bd650180]
環境にあわせて適当に設定してください。
 $ su - username
 $ vim .bash_profile

-変更前
 PATH=$PATH:$HOME/bin
 
 export PATH

-変更後
 # MySQL
 MYSQL_HOME=/usr/local/mysql
  
 PATH=$PATH:$HOME/bin:$MYSQL_HOME/bin:
 
 export MYSQL_HOME PATH
 export MANPATH="$MANPATH":$MYSQL_HOME/man

***設定を反映させる [#xefa4a30]
 $ source .bash_profile




&br;
*MySQL 設定 [#tfd1657f]
**1) データベースファイルを置く場所を作成 [#t41dfb0b]
/usr/local/mysql/data にデータファイルを置く場合は、以下のようにフォルダを作成する。
 $ sudo mkdir -p /usr/local/mysql/data
 $ sudo chown -R mysql /usr/local/mysql/data
 $ sudo chgrp -R mysql /usr/local/mysql

今回は、/home/mysql/data に置くので、以下のようにフォルダを作成する。
 $ su - mysql
 $ mkdir data


**2) 設定ファイル(my.cnf)の作成 [#z3f096a3]
サンプルがあるのでコピーして使う。
 $ sudo cp /usr/local/src/tritonn-1.0.12-mysql-5.0.67/support-files/my-medium.cnf /etc/my.cnf

**3) 設定ファイル(my.cnf)の修正 [#q765258f]
以下のように my.cnf を修正する。

 $ vim /etc/my.cnf

***skip-character-set-client-handshake を追加 [#h309ac21]
[mysqld] に skip-character-set-client-handshake を追加する。&br;
skip-character-set-client-handshake は、サーバーの文字コード設定をクライアントでもそのまま使う設定。

 [mysqld]
 skip-character-set-client-handshake

***skip-networking をコメントアウト [#xfeb6a4c]
skip-networking をコメントアウトする。&br;
skip-networking は、ネットワーク (TCP/IP) 経由の接続を許可しない。

 変更前
 #skip-networking

 変更後
 skip-networking

**4) DB 初期化 [#c553e809]
 $ sudo /usr/local/mysql/bin/mysql_install_db --user=mysql




&br;
*自動起動 [#u89212bb]
**MySQL 起動のためのファイルコピー [#i820a4b3]
 $ sudo cp /usr/local/src/tritonn-1.0.12-mysql-5.0.67/support-files/mysql.server /etc/init.d/mysqld
 $ sudo chmod 755 /etc/init.d/mysqld

**MySQL 自動起動設定に mysqld を追加 [#tc84d1d1]
 $ sudo chkconfig --add mysqld
 
**MySQL 自動起動設定 [#o374d3bd]
 $ sudo chkconfig mysqld on

**MySQL 自動起動設定の確認 [#a36b6d9c]
ランレベル 2, 3, 4, 5 になっていればよい。
 $ chkconfig --list mysqld


&br;
*MySQL 起動 [#g700073b]
**起動 [#m8f458d1]
 $ sudo /etc/init.d/mysqld start

**起動確認 [#cbd51f9f]


**停止 [#ue051f1a]
 $ sudo /etc/init.d/mysqld stop


&br;
*パスワード設定 [#sb85eb31]
**mysql ユーザのパスワード設定 [#u4b18c60]
 $ sudo passwd mysql

**MySQL の root ユーザのパスワード設定 [#kcf1124b]
 $ sudo mysqladmin -u root password パスワード


&br;
*DB にアクセスしたらはじめに行うこと [#kf223068]
**匿名ユーザの削除 [#bcd4cf13]
 $ mysql -u root -p

 mysql> SHOW DATABASES;
 +--------------------+
 | Database           |
 +--------------------+
 | information_schema | 
 | mysql              | 
 | test               | 
 +--------------------+
 3 rows in set (0.00 sec)

 mysql> use mysql;
 Database changed

 mysql> SHOW TABLES;
 +---------------------------+
 | Tables_in_mysql           |
 +---------------------------+
 | columns_priv              | 
 | db                        | 
 | func                      | 
 | help_category             | 
 | help_keyword              | 
 | help_relation             | 
 | help_topic                | 
 | host                      | 
 | proc                      | 
 | procs_priv                | 
 | tables_priv               | 
 | time_zone                 | 
 | time_zone_leap_second     | 
 | time_zone_name            | 
 | time_zone_transition      | 
 | time_zone_transition_type | 
 | user                      | 
 +---------------------------+
 17 rows in set (0.00 sec)

 mysql> DELETE FROM user WHERE User='';
 Query OK, 2 rows affected (0.00 sec)

 mysql> DELETE FROM db WHERE User='';
 Query OK, 2 rows affected (0.00 sec)

 mysql> FLUSH  PRIVILEGES;
 Query OK, 0 rows affected (0.00 sec)


&br;
*動作確認 [#r9870b7f]
**Senna 動作確認 [#v1f867ea]
参考:http://qwik.jp/senna/check_install.html

**Tritonn 動作確認 [#lba5320a]
参考:http://qwik.jp/tritonn/userguide.html


&br;
*ログの設定 [#x4bb88af]
mysql のログは、data フォルダに保管するのが一般的?どうなんだろ?&br;
CentOS だし、ためしに syslog に出力してみる。

**フォルダ作成 [#r5423aff]
 $ sudo mkdir /var/log/mysql
 $ sudo chown mysql:mysql /var/log/mysql

**設定ファイル(my.conf)の修正 [#h2434586]
[mysqld] にログを出力する場所を指定する。&br;
[mysqladmin] にログローテートする時に mysqladmin flush-logs を実行するユーザを記述しておく。

 $ sudo vim /etc/my.cnf
 
 [mysqld]
 log = /var/log/mysql/mysql.log
 log-error = /var/log/mysql/mysql-error.log
 log-slow-queries = /var/log/mysql/mysql-slow.log

 [mysqladmin]
 password = パスワード
 user= root


&br;
*ログローテートの設定 [#d59b8ba9]
***設定ファイルのコピー [#oeadc771]
サンプルがあるのでコピーして使う。
 $ sudo cp /usr/local/src/tritonn-1.0.12-mysql-5.0.67/support-files/mysql-log-rotate /etc/logrotate.d/mysql

***ファイルの修正 [#i4fa541b]
mysqladmin の場所を確認する。&br;
環境にあわせて適当に設定してください。&br;

 $ sudo vim /etc/logrotate.d/mysql

-変更前
 /home/mysql/data/mysqld.log {
         # create 600 mysql mysql
         notifempty
     daily
         rotate 3
         missingok
         compress
     postrotate
     # just if mysqld is really running
     if test -x /usr/local/mysql/bin/mysqladmin && \
        /usr/local/mysql/bin/mysqladmin ping &>/dev/null
     then
        /usr/local/mysql/bin/mysqladmin flush-logs
     fi
     endscript
 }

-変更後
 /var/log/mysql/*log {
		# create 600 mysql mysql
		notifempty
	daily
		rotate 4 #4回分のログを保存する
		missingok
		compress
	postrotate
	# just if mysqld is really running
	if test -x /usr/bin/mysqladmin && \
		/usr/local/mysql/bin/mysqladmin ping &>/dev/null
	then
		/usr/local/mysql/bin/mysqladmin flush-logs
	fi
	endscript
 }

**記述に間違いがないか確認 [#l8773bf7]
 $ logrotate -d /etc/logrotate.d/mysql 

**MySQL の再起動 [#sfafe582]
 $ sudo /etc/rc.d/init.d/mysqld restart

**ローテートの確認 [#q7981738]
***ローテートを実行する [#a5acffe0]
 $ sudo /usr/sbin/logrotate /etc/logrotate.conf

***ローテートが実行されたかどうか確認 [#r7609b03]
 $ sudo vim /var/lib/logrotate.status

ファイルが作成されているかも確認する
 $ ls -la /var/log/mysql

**一週間後にローテートが実行されるかどうか確認 [#ycb3d1a8]
***logrotate.status を一週間前のものに書き換える [#d88f0863]
 $ sudo vim /var/lib/logrotate.status
 
 変更前
 "/var/log/mysql/mysql-error.log" 2009-4-26
 "/var/log/mysql/mysql-slow.log" 2009-4-26
 "/var/log/mysql/mysql.log" 2009-4-26

 変更後
 "/var/log/mysql/mysql-error.log" 2009-4-19
 "/var/log/mysql/mysql-slow.log" 2009-4-19
 "/var/log/mysql/mysql.log" 2009-4-19

***ローテートを実行する [#i0026b19]
 $ sudo /usr/sbin/logrotate /etc/logrotate.conf

***ローテートが実行されたかどうか確認 [#ie8cc638]
 $ sudo vim /var/lib/logrotate.status

ファイルが作成されているかも確認する
 $ ls -la /var/log/mysql




&br;
*Comment [#ld60a577]
#comment_nospam
&br;
#counter



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS