本文参考了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-enginemake
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;