本文参考了http://www.shaxiaozi.com/log/184,特致谢,结合自己的实践做了补充。。
在mysql不停机的情况下,安装sphinxSE的步骤。利用mysql存储引擎的在线热插拔,需要在Mysql编译的时候,支持plugin特性。
1、查看现有mysql的运行版本
# mysqladmin -u user -p pwd version
…
Server version 5.1.47-log
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /data/mysql_db/mysql.sock
Uptime: 15 days 2 hours 17 min 40 sec
或者在mysql界面下使用select version();
2、下载mysql和sphinx
mysql:wget ftp://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.1/mysql-5.1.47.tar.gz
sphinx:wget http://sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz
注意:mysql源码包的版本一定要与当前运行的mysql版本一致!
解压
# tar -xzvf mysql-5.1.47.tar.gz
# tar -xzvf sphinx-0.9.9.tar.gz
3、将sphinx-0.9.9下的mysqlse目录复制到mysql目录中
(1)如果是mysql版本在5.1.x及其以上
#cp -r sphinx-0.9.9/mysqlse/ mysql-5.1.47/storage/sphinx
build
# cd mysql-5.1.47
# sh BUILD/autorun.sh
#./configure
# make
注意:这里到make这步即可,不用install
(2)如果版本是mysql5.0.X,
cp sphinx.5.0.37.diff ../../../mysql-5.0.45/ ( sphinx.5.0.37.diff在sphinx源码包的mysqlse中有,找个靠近mysql的版本补丁)
cd ../../../mysql-5.0.45/
patch -p1 < sphinx.5.0.37.diff
sh BUILD/autorun.sh
./configure --with-sphinx-storage-engine
make
4、将make好的文件复制到当前运行的mysql目录中
(1)5.1.x版本:
# cp storage/sphinx/.libs/ha_sphinx.* /usr/local/mysql/lib/mysql/plugin
(2)5.0.X版本:
cp mysql-5.0.45/sql/sphinx/.libs/* /usr/local/mysql/lib/mysql/plugin
更改所有者
# chown mysql.mysql /usr/local/mysql/lib/mysql/plugin/*
注:我当前运行的mysql目录在/usr/local/mysql
5、登陆mysql加载sphinx引擎模块
#mysql -u root -p -h localhost
# mysql> INSTALL PLUGIN sphinx SONAME ‘ha_sphinx.so’;
检查引擎模块是否正常加载
mysql> show engines;
安装完成!如果要卸载存储模块使用
mysql> UNINSTALL PLUGIN sphinx;