MySQL UDF ¼³Ä¡ ¹× »ç¿ëÇϱâ - mysql trigger java run
MySQL UDF ¼³Ä¡ ¹× »ç¿ëÇϱâ
1. http://www.mysqludf.org/ ¿¡¼
UDF libraries Ŭ¸¯ÇÑ ´ÙÀ½ GitHub ¿¡¼ ´Ù¿î·Îµå
2. Àӽà µð·ºÅ丮¿¡ ¾ÐÃàÀ» Ǭ ÈÄ Makefile ¼öÁ¤
ÄÄÆÄÀÏ ¿É¼ÇÀÌ Áß¿ä
LIBDIR=/home/mysql/lib/plugin
install:
gcc -Wall -fPIC -I/home/mysql/include -I. -shared -fPIC lib_mysqludf_sys.c -o $(LIBDIR)/lib_mysqludf_sys.so
3.ÄÄÆÄÀÏ
# make
ldd ·Î µ¿ÀûÆÄÀÏÀÌ Á¤»óÀûÀ¸·Î ÄÄÆÄÀÏ µÇ¾ú´ÂÁö È®ÀÎ
# ldd /home/mysql/lib/plugin/lib_mysqludf_sys.so
linux-vdso.so.1 => (0x00007fffc570b000)
libc.so.6 => /lib64/libc.so.6 (0x00007f3e36880000)
/lib64/ld-linux-x86-64.so.2 (0x0000003cb2400000)
4. SQL È®ÀÎ
mysql> create function sys_exec returns int soname 'lib_mysqludf_sys.so';
Query OK, 0 rows affected (0.74 sec)
mysql> set @status := sys_exec('echo "hello im root" > /tmp/helloworld');
Query OK, 0 rows affected (0.01 sec)
mysql> select @status;
+---------+
| @status |
+---------+
| 0 |
+---------+
1 row in set (0.00 sec)
mysql> exit
# ls -la /tmp/helloworld
Âü°í»çÀÌÆ®
http://0x80.org/blog/executing-commands-in-mysql-with-its-running-privilege/
https://github.com/mysqludf/lib_mysqludf_sys
http://dev.mysql.com/doc/refman/5.0/en/udf-compiling.html
http://adnoctum.tistory.com/231 µ¿Àû¶óÀ̺귯¸®