========================== | SyLAS v5.00 〜 | | アップデートマニュアル | ========================== バージョン4.00以前からのアップデートには、MySQLサーバの設定変更およびデータベースの修正が必要になります。 ・全文検索の対象に、ドットとコロンを含める(IPアドレスとMACアドレスの検索のため) ・データベーステーブルに、全文検索インデックスをはる アップデート手順は次のとおりです。 1. MySQLサーバの設定変更 2. データベースの設定変更・データ移行 3. SyLAS本体のアップデート ========================== 1. MySQLサーバの設定変更 ========================== インストールマニュアルの「MySQLの設定」と同様の手順を行います。 SQL検索の照合順序ファイルを作成します。 -------------------------------------------------------------------------- # mkdir /usr/local/postldapadmin/etc/charsets # cd /usr/share/mysql/charsets/ # cp Index.xml latin1.xml /usr/local/postldapadmin/etc/charsets/ -------------------------------------------------------------------------- コピーしたIndex.xmlに、照合順序(latin1_ip_mac_ci)を追加します。の内側に、以下のように記載します。 -------------------------------------------------------------------------- ... -------------------------------------------------------------------------- latin1.xmlに、照合順序のソート順序を宣言します。同ファイル内のlatin1_swedish_ciと同一ですので、コピーして使えます。 の内側に以下を記載します。 -------------------------------------------------------------------------- 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF 41 41 41 41 5C 5B 5C 43 45 45 45 45 49 49 49 49 44 4E 4F 4F 4F 4F 5D D7 D8 55 55 55 59 59 DE DF 41 41 41 41 5C 5B 5C 43 45 45 45 45 49 49 49 49 44 4E 4F 4F 4F 4F 5D F7 D8 55 55 55 59 59 DE FF -------------------------------------------------------------------------- latin1.xmlで、ctype配列を変更します。0x2Eと、0x3Aに相当する場所の変更が必要です。行列内、4行目の最後から2番めの要素と、5行目の最後から6番目の要素です。 "10" と記載されている箇所を、"01" と変更します。 -------------------------------------------------------------------------- 00 20 20 20 20 20 20 20 20 20 28 28 28 28 28 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 10 10 10 10 10 10 10 10 10 10 10 10 10 01 10 84 84 84 84 84 84 84 84 84 84 01 10 10 10 10 10 10 81 81 81 81 81 81 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 10 10 10 10 10 10 82 82 82 82 82 82 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 10 10 10 10 20 10 00 10 02 10 10 10 10 10 10 01 10 01 00 01 00 00 10 10 10 10 10 10 10 10 10 02 10 02 00 02 01 48 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 10 01 01 01 01 01 01 01 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 10 02 02 02 02 02 02 02 02 -------------------------------------------------------------------------- 最後に、MySQLの設定変更を行います。/etc/my.cnf.d ディレクトリ配下に、sylas.cnfを作成します。 -------------------------------------------------------------------------- [mysqld] character-sets-dir=/usr/local/postldapadmin/etc/charsets -------------------------------------------------------------------------- MySQLサーバを再起動します。 ========================== 2. データベースの設定変更 ========================== データベースに、全文検索のインデックスを作成します。 2種類の手順があります。 ・テーブル設定を変更する ・新たにテーブルを作成し、既存データを移行する 1つ目の方法は、手続きは簡単ですが、データ量が多い場合にインデックスの作成に非常に長い時間がかかる可能性があり、その間はデータベースの機能が停止してしまいます。 2つ目の方法は、手動での実行は困難ですが、システムを停止させることなくアップデートを行うことが出来ます。 後者の手順を行うためのサンプルスクリプト(update_table.py)を用意しました。 そちらを採用する場合には参考にしてください。 1つ目の方法で行う場合、次の手順をとります。 'SystemEvents'テーブルを変更します。 MySQLサーバにログインします。 -------------------------------------------------------------------------- $ mysql -u syslog -p Enter password:******** ← 作成したユーザのパスワードを入力して[Enter]を押す -------------------------------------------------------------------------- エンジンを'MyISAM'に変更します。 -------------------------------------------------------------------------- > ALTER TABLE SystemEvents ENGINE=MyISAM; -------------------------------------------------------------------------- Messageカラムのcollationを、'latin1_ip_mac_ci'に変更します。 -------------------------------------------------------------------------- > ALTER TABLE SystemEvents MODIFY Message text CHARACTER SET latin1 COLLATE latin1_ip_mac_ci; -------------------------------------------------------------------------- Messageカラムに、FULLTEXTインデックスをはります。 -------------------------------------------------------------------------- > ALTER TABLE SystemEvents ADD FULLTEXT(Message); -------------------------------------------------------------------------- 2つ目の方法では、次のような手続きを行います。 ・既存テーブルの名前を変更します。 ・新たにテーブルを作成し直します。(インストール時と同様の手続きです。) ・既存テーブルから、新しいテーブルにデータを移行します。 ・既存テーブルを削除します。 サンプルスクリプト(update_table.py)では、上記の手順を行っています。 ========================== 3. SyLAS本体のアップデート ========================== SyLAS本体のアップデート手順は、とくにこれまでのものと変更ありません。 sylas-[バージョン].tar.gz の展開と、ファイルの上書きを行ってください。