miércoles, 2 de noviembre de 2016

Activar/Instalar sys_exec en MariaDB 10 Centos 6 64bits

0. Asegurate de tener instalado los paquetes MariaDB-devel.x86_64, MariaDB-shared.x86_64 y gcc.x86_64.

1. Descargar lib_mysqludf_sys-master.zip de https://github.com/mysqludf/lib_mysqludf_sys#readme, puedes llegar ahí también por la pagina de UDFs http://www.mysqludf.org/.

2. Descomprimir en algún directorio, para el ejemplo sera /root y cambiar los permisos: chmod -R 777 lib_mysqludf_sys-master

3. En la carpeta descomprimida editar el archivo Makefile (yo uso nano, así que seria nano Makefile), archivo debe quedar como sigue:

LIBDIR=/usr/lib64

install:
        gcc -Wall -m64 -I/usr/include/mysql -I. -shared lib_mysqludf_sys.c -o $(LIBDIR)/lib_mysqludf_sys.so -fPIC

4. Ejecutar ./install.sh , les dará un error al final ignorenlo.

5. Copiar el nuevo archivo a la carpeta de plugins:

cp  /usr/lib64/lib_mysqludf_sys.so /usr/lib64/mysql/plugin/

6. Volver a correr ./install.sh, y ahora si no mostrara ningun error.

7. Entra a la consola de mysql y prueba que funciona con:

SELECT sys_exec ('touch /tmp/test.txt ')

Vas al directorio /tmp y debe estar allí el archivo test.txt

That's all a jugar cn el sys_exec en mariadb. :)



miércoles, 31 de agosto de 2016

Software Visual para aprender programación

VisualAlgo 
Es un software basado en web que permite visualizar la ejecución de algoritmos de forma bastante didáctica, tanto en código (como una especie de seguimiento o debug) y con ejemplos concretos (como el ordenamiento de piezas de diferentes valores representados en tamaños equivalentes, etc).

Esta herramienta presenta diferentes estructuras de datos y algoritmos para trabajar con éstas; como los diferentes tipos de ordenamiento, árboles, gráfos, MST, etc. Es interesante mencionar que esta herramienta fue diseñada y desarrollada por Steve Halim, conocido coach de las competencias ICPC ACM con equipos de Singapur, junto con sus alumnos.

http://www.comp.nus.edu.sg/~stevenha/visualization/index.html


AlgoViz
http://algoviz.com/ que permite ver de forma visual el comportamiento de muchos algoritmos ...

JGrasp
http://www.jgrasp.org/ basicamente sirve para ver de forma visual la estructura interna e una variable cualquiera
es especialmente util para visualizar cosas un poquito mas complejas como listas, arboles, etc ...
cualquier compilador solo muestra el contenido de una variable ... este las grafica y ayuda mucho a ver como esta armandose una estructura ...

Ambas herramientas las vi en el SIGCSE ya desde hace un par de años ... es fuertemente recomendado que vayan a ese evento todos los años especialmente los profesores y directores ... es bueno observar como se esta enseñando computacion en otras partes del mundo ...

(Aportes de Rudy Godoy y Ernesto Cuadros)

lunes, 11 de enero de 2016

Cerrar todas las conexiones de un usuario en MySQL/MariaDB

Basado en http://www.itmovil.com/2012/04/25/cerrar-todas-las-conexiones-de-un-usuario-en-mysql/

Abrir conexión por el cliente de consola de MySQL/MariaDB:

mysql -u root -p

luego creamos dinamicamente todas las sentencias para todos los procesos activos de un determinado usuario y lo guardamos en un archivo del disco duro, para ello ejecutamos :

select concat('KILL ',id,';') from information_schema.processlist where user='usuariodb' into outfile '/tmp/a.txt';

Ahora lo único que se debe hacer es ejecutar el archivo de texto que contiene las instrucciones, para ello ejecutamos

source /tmp/a.txt;

That's all..