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用戶來執行命令