CÓMO HABILITAR UN MOTOR DE ALMACENAMIENTO EN MYSQL O MARIADB

Si al ejecutar "SHOW ENGINES;" no se muestra el motor de almacenamiento que se necesita aparece con el estado "NO" o "DISABLED", significa que no está cargado o no está disponible en ña instalación actual de MySQL o MariaDB. A continuación se explica paso a paso cómo instalar y habilitar un motor de almacenamiento específico:
  1. Verificar el directorio de plugins: Lo primero es confirmar dónde MySQL o MariaDB buscan los plugins:

    SHOW VARIABLES LIKE 'plugin_dir';
    
    Este comando te mostrará la ruta donde deben estar los archivos ".so" (Linux) o ".dll" (Windows). Para continuar con la instalación tiene que existir el fichero en el directorio de plugins
  2. Ejecutar el siguiente comando como usuario con privilegios suficientes (normalmente "root" o un usuario con privilegio "SUPER").

    INSTALL PLUGIN nombre_motor SONAME 'nombre_archivo.so';
    //EJEMPLOS
    //Federated
    INSTALL PLUGIN federated SONAME 'ha_federated.so';
    
    //Archive
    INSTALL PLUGIN archive SONAME 'ha_archive.so';
    
    //Blackhole
    INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';
    
    En Windows se utiliza la extensión ".dll" en lugar de ".so".
  3. Verificar que se ha habilitado correctamente: Ejecutar los siguientes comandos:

    SHOW ENGINES;
    SHOW PLUGINS;
    
    El motor debería aparecer ahora con el estado "YES", "DEFAULT" o "ACTIVE" según corresponda. Si no aparece seguir con el punto siguiente.
  4. Habilitar el motor de almacenamiento: Para que el motor de almacenamiento se cargue automáticamente cada vez que se inicie MySQL, se debe editar el archivo de configuración:
    • Linux: "/etc/mysql/my.cnf o /etc/mysql/mysql.conf.d/mysqld.cnf".
    • Windows: "my.ini", normalmente en "C:\ProgramData\MySQL\MySQL Server X.X\".
    Añadir dentro de la sección "[mysqld]". la siguiente línea (reemplaza federated por el motor que necesites):

    [mysqld]
    federated=ON
    //FORCE para que el servidor no arranque si el motor falla.
    federated=FORCE
    
    Reiniciar MySQL o MariaDB

NOTAS IMPORTANTES

  • Si el archivo ".so" o ".dll" no existe en el directorio de "plugins", significa que tu instalación de MySQL o MariaDB no incluye ese motor. En ese caso, se tendrá que reinstalar MySQL o MariaDB con soporte completo.
  • Los motores InnoDB y MyISAM vienen integrados por defecto en casi todas las instalaciones y rara vez necesitan este procedimiento.
  • Algunos motores (como Spider, Mroonga, Tokudb, etc.) pueden requerir pasos adicionales o paquetes específicos según la distribución.
  • Es arriesgado bajarse el archivo ".so" o ".dll" de internet porque tiene que coincidir con la versión de InnoDB o MyISAM instalada.