7.2.安装 SphinxSE
优质
小牛编辑
132浏览
2023-12-01
在Windows系统下,如果运行的是MySQL5.0.x版本,您可以直接下载预先编译好的支持SphinxSE的mysqld-nt.exe程序,下载mysql-5.0.45-sphinxse-0.9.8-win32.zip解压后,用其中的mysqld-nt.exe替换掉MySQL5.0.x中的mysqld-nt.exe,即可启用SphinxSE功能。
在其他情况下,您需要得到一份MySQL的源码,并重新编译MySQL。MySQL源码(mysql-5.x.yy.tar.gz)可在dev.mysql.com网站获得。
针对某些版本的MySQL,Sphinx 网站提供了包含支持SphinxSE的打过补丁tarball压缩包。将这些文件解压出来替换原始文件,就可以配置(configure)、构建(build)以生成带有内建Shpinx支持的MySQL了。
如果网站上没有对应版本的tarball,或者由于某种原因无法工作,那您可能需要手工准备这些文件。您需要一份安装好的GUN Autotools框架(autoconf,automake和libtool)来完成这项任务。
注意:,因为MySQL 5.0.x 和MySQL 5.1.x存储引擎和插件实现方式的不同,安装SphinxSE的方法也是不同的,请仔细查看以下对应版本的安装步骤。
7.2.1.为 MySQL 5.0.x 编译 SphinxSE
如果使用我们事先做好的打过补丁的tarball,那请跳过步骤1-3。
将
sphinx.5.0.yy.diff
补丁文件复制到MySQL源码目录并运行patch -p1 < sphinx.5.0.yy.diff
如果没有与您的MySQL版本完全匹配的.diff文件,请尝试一个最接近版本的.diff文件。确保补丁顺利应用,没有rejects。
- 在MySQL源码目录中运行
sh BUILD/autorun.sh
- 在MySQL源码目录中建立
sql/sphinx
目录,并把Sphinx源码目录中mysqlse
目录下的全部文件拷贝到这个目录。示例:mkdir -p /root/builds/mysql-5.0.24/sql/sphinx cp -R /root/builds/sphinx-0.9.7/mysqlse/* /root/builds/mysql-5.0.24/sql/sphinx
- 配置(configure)MySQL,启用Sphinx引擎:
./configure --with-sphinx-storage-engine
- 构建(build)并安装MySQL:
make make install
7.2.2.为 MySQL 5.1.x 编译 SphinxSE
如果使用我们事先做好的打过补丁的tarball,那请跳过步骤1-3:
- 在MySQL源码目录中建立
storage/sphinx
目录,并将Sphinx源码目录中的mysqlse
目录下的全部文件拷贝到这个目录。示例:mkdir -p /root/builds/mysql-5.1.14/storage/sphinx cp -R /root/builds/sphinx-0.9.7/mysqlse/* /root/builds/mysql-5.1.14/storage/sphinx
- 在MySQL源码目录运行
sh BUILD/autorun.sh
- 配置(configure)MySQL,启用Sphinx引擎
./configure --with-plugins=sphinx
- 构建(build)并安装MySQL
make make install
7.2.3.检查 SphinxSE 安装
为了检查SphinxSE是否成功地编入了MySQL,启动新编译出的MySQL服务器,运行mysql客户端,执行SHOW ENGINES
查询,这会显示一个全部可用引擎的列表。Sphinx应该出现在这个列表中,而且在“Support”列上显示“YES”:mysql> show engines; +------------+----------+-------------------------------------------------------------+ | Engine | Support | Comment | +------------+----------+-------------------------------------------------------------+ | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | ... | SPHINX | YES | Sphinx storage engine | ... +------------+----------+-------------------------------------------------------------+ 13 rows in set (0.00 sec)