07/02/2021

Como usar la última versión de MariaDB 10.5.8 y Mroonga 10.11 en Debian Buster

MariaDB, Mroonga, Debian

Josep Sanz

A continuación voy a explicar como instalar MariaDB 10.5.8 con Mroonga 10.11 en Debian Buster, para ello se debe instalar los repositorios de MariaDB y Groonga, también pongo algunos enlaces con documentación de lo que se explicará a continuación:

Lo primero es instalar los repositorios tal como esta documentado en el primer y segundo enlace para poder instalar MariaDB 10.5.8 y las librerias de Groonga de los repositorios oficiales de cada proyecto.
 
sudo apt install mariadb-server
apt install groonga-normalizer-mysql libgroonga-dev libgroonga0

Con esto, ya tendremos instalado MariaDB 10.5.8 y las librerias de Groonga.

Si queremos instalar el plugin de Mroonga usando el paquete que hay disponible, hemos de hacer un "apt install mariadb-plugin-mroonga", esto nos instalará la versión disponible, que actualmente es la 7.07, para poder usar la ultima versión, la 10.11, la única solución es compilar el plugin manualmente y obtener el fichero ha_mroonga.so que es el fichero binario del plugin que se quiere actualizar.

Para compilar el plugin de mroonga descargado directamente de la web del proyecto Mroonga, es preciso disponer de las fuentes de la versión que se esta usando del MariaDB y del directorio de compilación del MariaDB que se esta usando, este requerimiento es debido a que se necesita el fichero libpeftschema.a para compilar el plugin de Mroonga, con lo que se deben seguir los siguientes pasos:

1) El primer paso es descargar y compilar MariaDB 10.5.8
 
apt source mariadb-10.5
cd mariadb-10.5-10.5.8+maria~buster
dpkg-buildpackage -rfakeroot -Tbuild
cd ..

La primera línea debe descargar el codigo fuente del MariaDB 10.5.8 que estamos usando y la tercera línea debe compilar MariaDB en el directorio builddir, que es lo que necesitamos para compilar posteriormente Mroonga.

2) El siguiente paso es descargar Mroonga y compilar el plugin:
 
wget https://packages.groonga.org/source/mroonga/mroonga-10.11.tar.gz
tar xvzf mroonga-10.11.tar.gz
cd mroonga-10.11/
./configure \
--with-mysql-source=../mariadb-10.5-10.5.8+maria~buster/ \
--with-mysql-config=../mariadb-10.5-10.5.8+maria~buster/builddir/scripts/mysql_config \
--with-mysql-build=../mariadb-10.5-10.5.8+maria~buster/builddir/
make
cd ..

Una vez acabado esto, debemos tener en el directorio .libs el fichero ha_mroonga.so.0.0.0 que es el plugin recién compilado.

3) El siguiente paso es copiar el fichero del plugin al directorio de plugins de MariaDB y activar el plugin:
 
sudo cp .libs/ha_mroonga.so.0.0.0 /usr/lib/mysql/plugin/ha_mroonga.so
sudo cp data/install.sql /usr/lib/mysql/plugin/
sudo cp data/uninstall.sql /usr/lib/mysql/plugin/
cat /usr/lib/mysql/plugin/install.sql | mysql -uroot -p
echo "show engines;" | mysql -uroot -p -t
echo "show variables like 'mroonga%';" | mysql -uroot -p -t

Las primeras tres líneas copiaran el plugin + 2 scripts SQL que añaden y quitan el plugin del MariaDB, la cuarta línea ejecuta el script de registro del plugin para instalarlo y las dos últimas líneas simplemente comprueban que se ha instalado el plugin correctamente.


Nota: he probado que todo lo anterior funciona tambien para la versión de mroonga 11.00, simplemente basta con cambiar 10.11 por 11.00 y voila.


Líneas de XML
63,516
Líneas de PHP
20,276
Líneas de JS
14,465
Líneas de T2T
3,499
Líneas de XSLT
2,640
Líneas de SQL
1,755