MySQL4とMySQL5の共存(MySQL + Toritonn インストール) †
構成 †MySQL4 と MySQL5 を共存させる。 MySQL4 †
MySQL5 †
確認 †1) apache 関連がインストールされているか確認 †$ yum list installed | grep apr $ yum list installed | grep apr-util インストールされていなかった場合はインストールする †試してないけど、これかな。 $ sudo yum install appr $ sudo yum install apr-util 2) mysql ユーザが存在するか確認 †$ sudo cut -d: -f1 /etc/passwd ユーザが存在した場合は mysql ユーザのグループの確認 †$ id mysql ユーザが存在しなかった場合は作成する †$ sudo groupadd mysql $ sudo useradd -g mysql mysql インストールに必要なモジュールをインストール †環境にあわせて適当にインストールしてください。 $ 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 Mecab インストール †インストール †$ 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 共有ライブラリに追加 †ファイルの修正 †mecab.conf を新たに作成し「/usr/local/mecab/lib」を記述する。 $ sudo vim /etc/ld.so.conf.d/mecab.conf /usr/local/mecab/lib ldconfig 更新 †$ sudo ldconfig 確認 †$ ldconfig -p | grep 'mecab' Mecab の辞書インストール †$ 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 Senna インストール †インストール †$ 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 共有ライブラリに追加 †ファイルの修正 †senna.conf を新たに作成し「/usr/local/senna/lib」を記述する。 $ sudo vim /etc/ld.so.conf.d/senna.conf /usr/local/senna/lib ldconfig 更新 †$ sudo ldconfig 確認 †$ ldconfig -p | grep 'senna' インストール †$ 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/mysql5 --libexecdir=/usr/local/mysql5/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 --with-unix-socket-path=/tmp/mysql5.sock --with-tcp-port=指定したポート $ make $ sudo make install MySQL5 のデータベースファイルを置く場所を作成 †/usr/local/mysql/data にデータファイルを置くのがよくやると思うけど、今回は、/home/mysql/data に置くので、以下のようにフォルダを作成する。 $ su - mysql $ cd /home/mysql $ mkdir data my.cnf 作成 †1) my.cnf を置く場所 †/etc/my.cnf は今回は使わないことにしました。 参考:http://dev.mysql.com/doc/refman/4.1/ja/option-files.html 2) MySQL4 の my.cnf の作成 †すでにインストールされているMySQL4が /etc/my.cnf を使っているので、移動しておく。 $ sudo mv /etc/my.cnf /etc/my4.cnf DATADIR/my.cnf にシンボリックリンクをはる。 $ sudo ln -s /etc/my4.cnf /var/lib/mysql/my.cnf 3) MySQL4 の my.cnf の修正 †デフォルトだと文字コードが latin1 になっているので、utf8 に変更するため、my.cnf を修正する。 mysql> SHOW VARIABLES LIKE 'character%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | latin1 | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 7 rows in set (0.00 sec) 以下のように my4.cnf を修正する。 $ sudo vim /etc/my4.cnf mysql に以下を追記する †[mysql] default-character-set = utf8 mysqld に以下を追記する †[mysqld] default-character-set = utf8 init-connect=SET NAMES utf8 mysqldump に以下を追記する †[mysqldump] default-character-set = utf8 skip-networking をコメントアウト †skip-networking をコメントアウトする。 変更前 #skip-networking ↓ 変更後 skip-networking 4) MySQL5 の my.cnf の作成 †サンプルがあるのでコピーして使う。 $ sudo cp /usr/local/src/tritonn-1.0.12-mysql-5.0.67/support-files/my-medium.cnf /etc/my5.cnf DATADIR/my.cnf にシンボリックリンクをはる。 $ sudo ln -s /etc/my5.cnf /usr/local/mysql5/my.cnf 5) MySQL5 の my.cnf の修正 †以下のように my5.cnf を修正する。 $ sudo vim /etc/my5.cnf skip-character-set-client-handshake を追加 †[mysqld] に skip-character-set-client-handshake を追加する。 [mysqld] skip-character-set-client-handshake skip-networking をコメントアウト †skip-networking をコメントアウトする。 変更前 #skip-networking ↓ 変更後 skip-networking DB 初期化 †$ sudo /usr/local/mysql5/bin/mysql_install_db --defaults-file=/etc/my5.cnf --user=mysql 自動起動 †MySQL5 起動のためのファイルコピー †$ sudo cp /usr/local/src/tritonn-1.0.12-mysql-5.0.67/support-files/mysql.server /etc/init.d/mysqld5 $ sudo chmod 755 /etc/init.d/mysqld5 MySQL5 自動起動設定に mysqld を追加 †$ sudo chkconfig --add mysqld5 MySQL5 自動起動設定 †$ sudo chkconfig mysqld5 on MySQL5 自動起動設定の確認 †ランレベル 2, 3, 4, 5 になっていればよい。 $ chkconfig --list mysqld5 MySQL4 自動起動をOFF †MySQL4 は常に使う訳ではないので、off にしておく。 $ sudo chkconfig mysqld off MySQL4 自動起動設定の確認 †off になっていればよい。 $ chkconfig --list mysqld MySQL4 起動 †起動 †$ sudo /etc/init.d/mysqld5 stop $ sudo /etc/init.d/mysqld start $ mysql -u root -p 停止 †$ sudo /etc/init.d/mysqld stop MySQL5 起動 †起動 †$ sudo /etc/init.d/mysqld stop $ sudo /etc/init.d/mysqld5 start $ /usr/local/mysql5/bin/mysql -u root -p 停止 †$ sudo /etc/init.d/mysqld5 stop mysqld_safe を使って MySQL5 起動 †起動 †$ sudo /usr/local/mysql5/bin/mysqld_safe --defaults-file=/etc/my5.cnf --user=mysql & 停止 †$ sudo /usr/local/mysql5/bin/mysqladmin --defaults-file=/etc/my5.cnf shutdown もしくわ $ sudo /usr/local/mysql5/bin/mysqladmin --port=3307 -u root -p shutdown パスワード設定 †MySQL5 の root ユーザのパスワード設定 †$ sudo /usr/local/mysql5/bin/mysqladmin -u root password パスワード DB にアクセスしたらはじめに行うこと †匿名ユーザの削除 †$ /usr/local/mysql5/bin/mysql -u root -p mysql> use mysql; Database changed 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) 動作確認 †Senna 動作確認 †参考:http://qwik.jp/senna/check_install.html Tritonn 動作確認 †参考:http://qwik.jp/tritonn/userguide.html MySQL5 のログの設定 †mysql のログは、data フォルダに保管するのが一般的?どうなんだろ? フォルダ作成 †$ sudo mkdir /var/log/mysql5 $ sudo chown mysql:mysql /var/log/mysql5 設定ファイル(my5.conf)の修正 †[mysqld] にログを出力する場所を指定する。 $ sudo vim /etc/my5.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 ログローテートの設定 †設定ファイルのコピー †サンプルがあるのでコピーして使う。 $ sudo cp /usr/local/src/tritonn-1.0.12-mysql-5.0.67/support-files/mysql-log-rotate /etc/logrotate.d/mysql5 ファイルの修正 †mysqladmin の場所を確認する。 $ sudo vim /etc/logrotate.d/mysql5
記述に間違いがないか確認 †$ logrotate -d /etc/logrotate.d/mysql5 MySQL5 の再起動 †$ sudo /etc/rc.d/init.d/mysqld5 restart ローテートの確認 †ローテートを実行する †$ sudo /usr/sbin/logrotate /etc/logrotate.conf ローテートが実行されたかどうか確認 †$ sudo vim /var/lib/logrotate.status ファイルが作成されているかも確認する $ ls -la /var/log/mysql5 一週間後にローテートが実行されるかどうか確認 †logrotate.status を一週間前のものに書き換える †$ 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 ローテートを実行する †$ sudo /usr/sbin/logrotate /etc/logrotate.conf ローテートが実行されたかどうか確認 †$ sudo vim /var/lib/logrotate.status ファイルが作成されているかも確認する $ ls -la /var/log/mysql5 共有ライブラリに追加 †ファイルの修正 †neon.conf を新たに作成し「/usr/local/mysql5/lib/mysql」を記述する。 $ sudo vim /etc/ld.so.conf.d/mysql5.conf /usr/local/mysql5/lib/mysql ldconfig 更新 †$ sudo ldconfig 確認 †$ ldconfig -p | grep 'mysql' メモ †
Comment †
Counter: 1894,
today: 4,
yesterday: 0
|