miércoles, 21 de enero de 2015

Plugins MySQL


INSTALACION DE PLUGIN:

Los plugins deben ser reconocidos por el servidor antes de ser usado. Esto se logra con diferentes métodos.

Normalmente el plugin se activa al reiniciar el servicio MySQL

*Buit-in plugins:
Es un plugin construido dentro del servidor que es reconocido automáticamente. Puede cambiarse el valor si se usa la opción --plugin_name.

*Registrando el plugin en la tabla mysql.plugin:
El servidor normalmente habilita cada plugin listado en la tabla al iniciar el servicio, sin embargo puede ser cambiado con la opción --plugin_name. Si el servicio de MySQL se inicia con la opción --skip-grant-tables, esta opción no consulta la tabla y no carga los plugins.

*Mandando llamar el plugins con la opción --plugin-load:
Es una librería que se carga al iniciar el servicio MySQL, con la opción --plugin-load. Pero puede ser cambiado si se usa la opción --plugin_name.

Esta opción usa un listado separado por punto y coma de los plugins con la siguiente sintaxis, name=plugin_library, donde "name" es el nombre del plugin y "plugin_library" es el nombre de la librería compartida que contiene el código. Las librerías deberán estar alojadas en el directorio que refiera la variable "plugin_dir". Esta opción no registra en la tabla mysql.plugin. Para reinicios subsecuentes, el servidor carga de nuevo los plugins SOLO con la opción --plugin-load.

*Instalar plugin con "INSTALL PLUGIN":
Cuando un plugin esta localizado en el archivo de la librería puede ser cargada en tiempo de ejecución con "INSTALL PLUGIN". Ademas registra el plugin en la tabla mysql.plugin, lo cual
causa que cuando se reinicie el servicio MySQL se recarguen los plugins. 

Si utiliza las dos opciones para registrar un plugin, "INSTALL PLUGIN" y --plugin-load, el servicio reiniciara pero mandame mensajes de que el plugin ya existe.

ejemplo:
con "--plugin-load":
[mysqld]
plugin-load=myplugin=somepluglib.so

Con sentencia:
mysql> INSTALL PLUGIN myplugin SONAME 'somepluglib.so';

CONTROLAR ACTIVAR PLUGINS
Se puede activar o desahabilitar un plugin al gusto sin importar si esta configurado con algunas de las opcinoes anteriores con:
--plugin_name=OFF       : Desahabilita el plugin
--plugin_name[=ON]      : Habilita el plugin, pero si marca error de todas formas inicia el servicio.
--plugin_name=FORCE  : Inicia el servicio siempre y cuando no exista error.
--plugin_name=FORCE_PLUS_PERMANENT : Inicia el servicio siempre y cuando no exista error pero aparte previene  de que se desahabiliten plugins en tiempo de ejecución, marcaria error.

El estado de los plugins activos pueden ser visto en information_schema.plugins.load_option.

Ejemplo: Tenemos 3 plugins, donde "csv" no es extremadamente importante que inicie si llega a fallar en el inicio, pero "blackhole" debe iniciar si o si y el plugin "archive" esta desahabilitado.

[mysqld]
csv=ON
blackhole=FORCE
archive=OFF


DESINSTALAR UN PLUGIN
* Sentencia "UNINSTALL PLUGIN", daría de baja el plugin y eliminaría el registro de la tabla mysql.plugin
-No puede desahabilitar plugins que son construidos en el servicio MySQL.
-No puede bajar plugins donde el servicio fue iniciado con --plugin-name=FORCE_PLUS_PERMANENT.


Información de los Plugin MySQL

*Cada registro de la tabla INFORMATION_SCHEMA.PLUGINS contiene información de cada plugin cargado.

SELECT * FROM information_schema.PLUGINS\G

Dentro de este resultado, todo lo que tenga en PLUGIN_LIBRARY = NULL, son plugins internos y no pueden ser descargados.


* SHOW PLUGINS\G
Muestra un registro por cada plugin cargado.

*La tabla mysql.plugin muestra los plugins registrador con "INSTALL PLUGINS".




No me a tocado a mi hacer uso de ellos, al menos no configurarlos yo, pero lo guardo como nota por si los requiero.








No hay comentarios.:

Publicar un comentario