entorno de MySQL Query
plug-in de consulta MySQL ruta del directorio
show variables like "plugin_dir";
Ver el número de bits MySQL
show variables like '%version_%';
instalación lib_mysqludf_sys
https://github.com/mysqludf/lib_mysqludf_sys
Una biblioteca de UDF con funciones para interactuar con el sistema operativo. Estas funciones le permiten interactuar con el entorno de ejecución en el que se ejecuta MySQL.
estructura de directorios es la siguiente:
Compilar el código fuente
Modificar el Makefile, según la propia MySQL en el entorno del sistema
Makefile original
LIBDIR=/usr/lib
install:
gcc -Wall -I/usr/include/mysql -I. -shared lib_mysqludf_sys.c -o $(LIBDIR)/lib_mysqludf_sys.so
Makefile modificado
LIBDIR=/usr/lib/mysql/plugin
install:
gcc -fPIC -Wall -I/usr/include/mysql -I. -shared lib_mysqludf_sys.c -o $(LIBDIR)/lib_mysqludf_sys.so
Ejecutar marca, generar nuevos lib_mysqludf_sys.so
Nota: la fuente 32 viene a lib_mysqludf_sys.so
¿Hay lib_mysqludf_sys.so en / usr / lib64 / mysql / plugin directorio, si es MySQL entorno de estibador, utilice el siguiente comando:
docker cp lib_mysqludf_sys.so a6e96adf79e2:/usr/lib/mysql/plugin/
función de creación
DROP FUNCTION IF EXISTS lib_mysqludf_sys_info;
DROP FUNCTION IF EXISTS sys_get;
DROP FUNCTION IF EXISTS sys_set;
DROP FUNCTION IF EXISTS sys_exec;
DROP FUNCTION IF EXISTS sys_eval;
CREATE FUNCTION lib_mysqludf_sys_info RETURNS string SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_get RETURNS string SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_set RETURNS int SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_exec RETURNS int SONAME 'lib_mysqludf_sys.so';
CREATE FUNCTION sys_eval RETURNS string SONAME 'lib_mysqludf_sys.so';
error
ERROR 1126 (HY000): No se puede abrir la biblioteca compartida 'lib_mysqludf_sys.so' (Error: 2 /usr/lib/mysql/plugin/lib_mysqludf_sys.so: mal de clase ELF: ELFCLASS32)
Ver archivo viene lib_mysqludf_sys.so
file lib_mysqludf_sys.so
Se compila en sistemas de 32 bits lib_mysqludf_sys.so, y nuestra X86_64 mediana MySQL
archivo de vista maquillaje genera lib_mysqludf_sys.so
file lib_mysqludf_sys.so
lib_mysqludf_sys de ejecución
SELECT sys_eval('pwd');
select * from mysql.func;