php linux sphinx 安装

摘要:
如果您只希望PHP支持MySQL扩展库并连接到其他服务器上的MySQL数据库,则不需要执行以下两个步骤。

索引服务器搭建

 

所需要的软件:

pythonPython-2.5.tar.bz2

mmsegmmseg-3.1.tar.tar

mysqlmysql-5.0.22.tar.gz

csftcsft-3.1.tar.tar

libiconvlibiconv-1.13.1.tar.tar

安装Python

1.# bzip2 -d Python-2.5.tar.bz2

2.# tar -xvf Python-2.5.tar

3.#cd Python-2.5.tar

4.#./configure --prefix=/usr/local/python

5.#make && make install

 

 

安装mmseg

1.#tar -zxvf mmseg-3.1.tar.tar

2.#cd mmseg-3.1

3.#./configure --prefix=/usr/local/mmseg

4.#make && make install

 

 

安装csft

1.#tar –zxvf csft-3.1.tar.tar

2.#cd csft-3.1

3.# ./configure --prefix=/usr/local/csft --with-mysql=/usr/local/mysql --with-mysql-includes=/usr/local/mysql/include/mysql --with-mysql-libs=/usr/local/mysql/lib/mysql --with-mmseg-includes=/usr/local/mmseg/include/mmseg --with-mmseg-libs=/usr/local/mmseg/lib --with-mmseg

4.#make && make install

 

 

安装libiconv

可以暂时跳过这一步,如果在安装csft时,编译时出现找不到libiconv,再来进行安装。

1.#tar –zxvf libiconv-1.13.1.tar.tar

2.#cd libiconv-1.13.1

3.#./configure --prefix=/user/local/libiconv

4.#make && make install

 

安装mysql

1.#groupadd mysql

2.#useradd –g mysql mysql

3.#tar –zxvf mysql-5.0.22.tar.gz

4.#cd mysql-5.0.22

5.#./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql --without-debug --with-big-tables --with-extra-charsets=all --with-pthread --enable-static --enable-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --without-isam --without-innodb --without-ndb-debug

6.#make && make install

7.#chmod +w /usr/local/mysql

8.#chown –R mysql:mysql /usr/local/mysql

9.#cp support-files/my-medium.cnf /usr/local/mysql/my.cnf

 

附:以下为附加步骤,如果你想在这台服务器上运行MySQL数据库,则执行以下两步。如果你只是希望让PHP支持MySQL扩展库,能够连接其他服务器上的MySQL数据库,那么,以下两步无需执行。
、以mysql用户帐号的身份建立数据表:

/usr/local/ mysql/bin/mysql_install_db --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/mysql.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock



、启动MySQL(最后的&表示在后台运行)

/bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf &

 

mysqld每次开机自动启动:

# cp -r support-files/mysql.server /etc/init.d/mysql

#cd /etc/rc.d/init.d
#chmod +x mysql
#chkconfig --del mysql
#chkconfig --add mysql

 

 

 

安装csft

1.#tar –zxvf csft-3.1.tar.tar

2.#cd csft-3.1

3.# ./configure --prefix=/opt/webserver/sphinx/csft --with-mysql=/opt/webserver/mysql --with-mysql-includes=/opt/webserver/mysql/include/mysql --with-mysql-libs=/opt/webserver/mysql/lib/mysql/ --with-mmseg-includes=/opt/webserver/sphinx/mmseg/include/mmseg --with-mmseg-libs=/opt/webserver/sphinx/mmseg/lib --with-mmseg

4.#make && make install

 

 

安装运行csft时出现的问题,及解决办法

 

问题1:编译时出现找不到libiconv

解决办法:

(1)       configure之后,修改src下的makefile文件,在LIBS这一行的后面添加-liconv,如下所示:LIBS = -lm -lexpat -L/usr/local/lib –liconv

(2)       make clean

(3)       make

(4)       make install

 

 

问题2:建索引时出现./indexer:error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory

解决办法:

(1)       ln -s /opt/webserver/mysql/lib/mysql/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16

 

 

问题3:建索引时出现./indexer: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

解决办法:

1ln –s /opt/webserver/sphinx/libiconv/lib/libiconv.so.2 /usr/lib/libiconv.so.2

 

 

问题4:建索引时出现iniparser: cannot open/opt/webserver/sphinx/csft/var/data/dict/mmseg.ini

解决办法:

(1)       dict文件夹下新建文件mmseg.ini

(2)       输入内容如下:

 

merge_number_and_ascii=1;
number_and_ascii_joint=-;
compress_space=0;
seperate_number_ascii=1;

以上解释如下:

/*
merge_number_and_ascii:
字母和数字连续出现是非切分

number_and_ascii_joint:
连接数字和字母可用的符号,如'-' '.'
compress_space
:暂时无效
seperate_number_ascii
:是否拆分数字,如 1988 -> 1/x 9/x 8/x 8/x
*/

免责声明:文章转载自《php linux sphinx 安装》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇zabbix监控linux磁盘IO性能怎样生成一个顶点迭代器(MItMeshVertex)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

二进制日志备份与恢复,快照备份,复制

二进制日志备份与恢复 二进制日志非常关键,我们可以通过它来完成point-in-time的恢复工作。MySQL数据库的复制同样需要二进制日志。默认情况下并不启用二进制日志,要使用二进制日志,首先必须启用它,在配置文件中进行如下设置: [mysqld] log-bin 对于InnoDB存储引擎只是简单启用二进制日志是不够的,还需要启用一些其他参数来保证安全和...

MySQL varchar 最大长度,text 类型占用空间剖析

MySQL 表中行的最大大小为 65,534(实际行存储从第二个字节开始)字节。每个 BLOB 和 TEXT 列只占其中的 5 至 9 个字节。 那么来验证下 varchar 类型的实际最大长度:测试环境:MySQL版本 5.7.19 //首先要设置下 mysql 为严格执行模式,不然 varchar 超出最大长度为自动转为 text 类型 set sql...

MySql 5.7对json_table()函数的一次变通替代

一、前言 目前项目使用的数据库是Oracle 12c,选择该版本的的主要原因之一是支持json。某日,某变态客户说要转向云平台,而云平台却没有Oracle只有MySql及其它开源产品。在把建库脚本(包括表、视图、索引、触发器、存储过程等等)由oracle版转为mysql版的过程中,最烦人的一个难关是如何实现json_table()函数的替代。 Oracle...

MySQL-快速入门(2)数据类型

1、MySQL支持多种数据类型: 1》数值类型:整数类型tinyint、smallint、mediumint、bigint、int;浮点小数类型float、double;定点小数类型decimal。 2》日期 / 时间类型:year、time、date、datetime、timestamp。 3》字符串类型:char、varchar、binary、varb...

mysql性能监控相关

如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接 怎么进入mysql命令行呢? mysql的安装目录下面有个bin目录,先用命令行进入该目录,然后用 mysql -uroot -p123456 来登录(注意:用户名和密码不用包含“”) 命令: show processlist; 如果是root帐号,你能看到所有用户...

MySQL更改数据库数据存储目录

MySQL数据库默认的数据库文件位于/var/lib/mysql下,有时候由于存储规划等原因,需要更改MySQL数据库的数据存储目录。下文总结整理了实践过程的操作步骤。 1:确认MySQL数据库存储目录 [root@DB-Server tmp]# mysqladmin -u root -p variables | grep datadir Enter...