当全文搜索操作中出现错误 (DB99999)时的对策
如果您使用的是全文搜索服务器,并且希望将 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:
向Cybozu官方合作伙伴或经销商咨询。
如果出现上述错误,请更改 MySQL 的notify库。
在Windows环境中更改notify库
介绍使用全文搜索服务器的环境中,将 Garoon 从 Linux 环境迁移到Windows环境时发生错误(DB99999)时对策。
如果出现错误,请将 MySQL 使用的notify库从 Linux环境的(notify.so) 更改为 Windows 环境的(notify.dll)。
-
将 Windows 环境的notify库 (notify.dll) 复制到 Linux 环境中的notify库 (notify.so)。
执行如下命令。单行输入命令。
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 服务发送到全文搜索服务器的通知。
执行如下命令。单行输入命令。
.\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)。
执行如下命令。单行输入命令。
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库 (通知.dll)。
执行如下命令。单行输入命令。
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 服务发送到全文搜索服务器的通知。
执行如下命令。单行输入命令。
./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