全文検索の操作でエラー(DB99999)が発生する場合の対処
全文検索サーバーを利用している環境で、移行元と移行先でOSが異なるサーバーにGaroonを移行する場合は、移行前にMySQLサービスから全文検索サーバーに送信される通知を無効化する必要があります。
無効化していないと、エラー(DB99999)が発生し、全文検索サーバーでインデックスが作成されない場合があります。
エラーメッセージの例:
[Thu, 18 Feb 2016 12:02:13 +0900] 1 messages indexed.Error: DB99999
データベースでエラーが発生しました。
データベースのエラー番号: 1305
Cause:
データベースからの応答:FUNCTION cb_cbgrn.notify does not exist
Counter Measure:
サイボウズオフィシャルパートナー、または販売元にお問い合わせください。
上記のエラーが発生した場合は、MySQLのnotifyライブラリーを変更してください。
Windows環境でnotifyライブラリーを変更する
全文検索サーバーを利用している環境で、GaroonをLinux環境からWindows環境に移行し、エラー(DB99999)が発生した場合の対処を説明します。
エラーが発生した場合は、MySQLが使用するnotifyライブラリーを、Linux環境用(notify.so)からWindows環境用(notify.dll)に変更します。
-
Windows環境用のnotifyライブラリー(notify.dll)を、Linux環境のnotifyライブラリー(notify.so)にコピーします。
次のコマンドを実行します。コマンドは1行で入力します。
copy C:\Program Files\Cybozu\mysql-5.0\lib\plugin\notify.dll C:\Program Files\Cybozu\mysql-5.0\lib\plugin\notify.so -
MySQLサービスを再起動します。
Windowsのスタートメニューから、[管理ツール] > [サービス]を選択し、次のサービスを再起動します。
- Cybozu_Database_Engine_5_0
-
次のコマンドを実行し、ディレクトリーを移動します。
cd C:\inetpub\scripts\cbgrn -
MySQLサービスが全文検索サーバーに送信する通知を有効化します。
次のコマンドを実行します。コマンドは1行で入力します。
.\grn.exe -C -q code\command\fts\enable_udf_notifier.csp db_admin_password=(データベース管理ユーザーのパスワード)「UDF notifier is available.」と表示されることを確認します。 エラーメッセージが表示された場合は、全文検索サーバーガイドの「付録B エラーメッセージ」を参照してください。
-
MySQLサービスを停止します。
Windowsのスタートメニューから、[管理ツール] > [サービス]を選択し、次のサービスを停止します。
- Cybozu_Database_Engine_5_0
-
手順1で作成した、Linux環境用のnotifyライブラリー(notify.so)を削除します。
次のコマンドを実行します。コマンドは1行で入力します。
del C:\Program Files\Cybozu\mysql-5.0\lib\plugin\notify.so -
MySQLサービスを起動します。
Windowsのスタートメニューから、[管理ツール] > [サービス]を選択し、次のサービスを起動します。
- Cybozu_Database_Engine_5_0
Linux環境でnotifyライブラリーを変更する
全文検索サーバーを利用している環境で、GaroonをWindows環境からLinux環境に移行し、エラー(DB99999)が発生した場合の対処を説明します。
エラーが発生した場合は、MySQLが使用するnotifyライブラリーを、Windows環境用(notify.dll)からLinux環境用(notify.so)に変更します。
-
Linux環境用のnotifyライブラリー(notify.so)を、Windows環境のnotifyライブラリー(notify.dll)にコピーします。
次のコマンドを実行します。コマンドは1行で入力します。
cp -p /usr/local/cybozu/mysql-5.0/lib/plugin/notify.so /usr/local/cybozu/mysql-5.0/lib/plugin/notify.dll -
MySQLサービスを再起動します。
/etc/init.d/cyde_5_0 restart -
次のコマンドを実行し、ディレクトリーを移動します。
cd /var/www/cgi-bin/cbgrn/ -
MySQLサービスが全文検索サーバーに送信する通知を有効化します。
次のコマンドを実行します。コマンドは1行で入力します。
./grn.cgi -C -q code/command/fts/enable_udf_notifier.csp db_admin_password=(データベース管理ユーザーのパスワード)「UDF notifier is available.」と表示されることを確認します。
エラーメッセージが表示された場合は、全文検索サーバーガイドの「付録B エラーメッセージ」を参照してください。 -
MySQLサービスを停止します。
/etc/init.d/cyde_5_0 stop -
手順1で作成した、Windows環境用のnotifyライブラリー(notify.dll)を削除します。
rm /usr/local/cybozu/mysql-5.0/lib/plugin/notify.dll -
MySQLサービスを起動します。
/etc/init.d/cyde_5_0 start