linux下coreseek遇到的错误和问题解决方案mysql
一、测试mmseg分词的时候linux
执行sql
/usr/local/coreseek/bin/indexer -c etc/csft.conf –all测试
提示下面的错误:索引
/usr/local/coreseek/bin/indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory进程
缘由:sphinx indexer的依赖库ibmysqlclient.so.18找不到。io
解决办法:cli
vi /etc/ld.so.conf配置
加入 /usr/local/mysql/libobject
而后运行 ldconfig
问题解决
二、执行索引的时候
/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft.conf –all –rotate
提示下面的错误:
FATAL: failed to open /usr/local/coreseek/var/data/article/.tmp.spl: No such file or directory, will not index. Try –rotate option.
缘由:source源找不到mysql.sock
解决办法:在配置文件csft.conf(本身建立的文件)的 source源 加入下面的代码
sql_sock = /tmp/mysql.sock
三、执行索引的时候,出现的警告,致使索引没建立成功
WARNING: failed to open pid_file '/usr/local/coreseek/var/log/searchd_ttd_search.pid'.
WARNING: indices NOT rotated.
缘由:找不到searchd_ttd_search.pid文件
解决办法:在’/usr/local/coreseek/var/log 下建立searchd_ttd_search.pid文件
再执行/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft.conf –all –rotate
出现了另一个警告:
WARNING: failed to scanf pid from pid_file '/usr/local/coreseek/var/log/searchd_ttd_search.pid'.
WARNING: indices NOT rotated.
缘由:虽然建立了searchd_ttd_search.pid文件,可是里面没有写入进程id
解决办法(根本缘由):在执行索引以前没有启动searchd服务,所以执行下面的命令
/usr/local/coreseek/bin/searchd –config /usr/local/coreseek/etc/csft.conf
四、执行索引时
/usr/local/coreseek/bin/indexer -c /usr/local/coreseek/etc/csft.conf –all –rotate
提示下面的错误:
FATAL: failed to open /usr/local/coreseek/var/data/article.tmp.spl: Permission denied, will not index. Try –rotate option.
缘由:权限问题
解决办法:使用root用户来执行命令