MySQL Sphinx · 3 min read · Jan 29, 2026
Sphinx Como Motor de Almacenamiento MySQL (SphinxSE)
Sphinx Como Motor de Almacenamiento MySQL (SphinxSE)
Por Nedim Hadzimahmutovic < [email protected] >
Versión: v1.0
Último Cambio: 9 de mayo de 2010
SphinX es un gran motor de búsqueda de texto completo para MySQL. La instalación del demonio Sphinx fue sencilla ya que puedes compilarlo desde el código fuente o usar un paquete .DEB/.RPM, pero SphinxSE fue un poco complicado ya que necesitaba ser instalado como un plugin en un servidor MySQL en funcionamiento.
Así que si usas Debian o CentOS e instalas tu MySQL desde un paquete .deb o .rpm, así es como lo haces.
Esto requiere MySQL 5.1 ya que soporta plugins y no tendrás que recompilar MySQL para tener soporte para SphinxSE.
Verifica la versión de tu paquete MySQL:
Para Debian:
# dpkg --list | grep mysql-server ii mysql-server-5.1 5.1.45-0.dotdeb.0 MySQL database server binariesPara CentOS:
# rpm -qa | grep mysql-server mysql-server-5.1.45-1.el5.remi- Descarga el código fuente de MySQL, la misma versión exacta que está instalada en tu servidor, desde http://www.mysql.com/downloads/mysql/. ¡Las versiones deben coincidir! Descarga el código fuente de Sphinx.
# cd /tmp/
# wget 'http://mysql.mirrors.hoobly.com/Downloads/MySQL-5.1/mysql-5.1.45.tar.gz'
# wget 'http://sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz'Extrae ambos archivos:
# tar -xzvf mysql-5.1.45.tar.gz
# tar -xzvf sphinx-0.9.9.tar.gz- Copia el directorio mysqlse de sphinx a mysql:
# cp -R sphinx-0.9.9/mysqlse/ mysql-5.1.45/storage/sphinxConstruir:
cd mysql-5.1.45 sh BUILD/autorun.sh; ./configure; makeTómate un descanso, esto tomará un tiempo.
Copia los archivos Sphinx.SO a tu directorio de plugins de MySQL:
# cp storage/sphinx/.libs/ha_sphinx.* /usr/lib64/mysql/pluginEl directorio de plugins puede diferir en tu sistema.
- Inicia sesión en la consola de mysql como usuario root. Instala el plugin Sphinx.
# mysql -u root -p -h localhost mysql> INSTALL PLUGIN sphinx SONAME 'ha_sphinx.so';Verifica si el motor Sphinx está habilitado:
mysql> show engines;mysql> show engines;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | YES | Soporta transacciones, bloqueo a nivel de fila y claves foráneas | YES | YES | YES |
| MRG_MYISAM | YES | Colección de tablas MyISAM idénticas | NO | NO | NO |
| BLACKHOLE | YES | motor de almacenamiento /dev/null (todo lo que escribas desaparece) | NO | NO | NO |
| CSV | YES | motor de almacenamiento CSV | NO | NO | NO |
| SPHINX | YES | motor de almacenamiento Sphinx 0.9.9 | NO | NO | NO |
| FEDERATED | YES | motor de almacenamiento MySQL federado | NO | NO | NO |
| ARCHIVE | YES | motor de almacenamiento Archive | NO | NO | NO |
| MEMORY | YES | Basado en hash, almacenado en memoria, útil para tablas temporales | NO | NO | NO |
| MyISAM | DEFAULT | motor por defecto desde MySQL 3.23 con gran rendimiento | NO | NO | NO |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
¡Eso es todo!
Otra forma de verificar si el plugin fue instalado es con el siguiente comando:
mysql> select * from mysql.plugin;mysql> select * from mysql.plugin;
+--------+--------------+
| name | dl |
+--------+--------------+
| sphinx | ha_sphinx.so |
+--------+--------------+
1 row in set (0.00 sec)
Si necesitas desinstalar el plugin sphinx por alguna razón más tarde, así es como lo haces:
mysql> UNINSTALL PLUGIN sphinx;Notas:
Ten en cuenta que hay un error en algunas versiones de MySQL: al instalar plugins, el identificador del plugin no se maneja de manera consistente con respecto a las mayúsculas.
Si obtienes el siguiente error:
mysql> INSTALL PLUGIN sphinx SONAME 'ha_sphinx.so'; ERROR 1062 (23000): Entrada duplicada 'sphinx' para la clave 'PRIMARY'tendrás que eliminar manualmente la entrada del plugin sphinx de la tabla mysql.plugin. Puedes obtener este error después de una actualización. El gestor de contraseñas sphinx, la contraseña maestra, el gestor de contraseñas o los gestores de contraseñas y el almacén de contraseñas, también la contraseña maestra del usuario y la gestión de contraseñas como contraseñas aleatorias se cubrirán en una de mis próximas guías.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.