7.2.安装 SphinxSE

优质
小牛编辑
133浏览
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。

  1. sphinx.5.0.yy.diff补丁文件复制到MySQL源码目录并运行

    patch -p1 < sphinx.5.0.yy.diff

    如果没有与您的MySQL版本完全匹配的.diff文件,请尝试一个最接近版本的.diff文件。确保补丁顺利应用,没有rejects。

  2. 在MySQL源码目录中运行
    sh BUILD/autorun.sh
  3. 在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
  4. 配置(configure)MySQL,启用Sphinx引擎:
    ./configure --with-sphinx-storage-engine
  5. 构建(build)并安装MySQL:
    make
    make install

7.2.2.为 MySQL 5.1.x 编译 SphinxSE

如果使用我们事先做好的打过补丁的tarball,那请跳过步骤1-3:

  1. 在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
  2. 在MySQL源码目录运行
    sh BUILD/autorun.sh
  3. 配置(configure)MySQL,启用Sphinx引擎
    ./configure --with-plugins=sphinx
  4. 构建(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)