MYSQL
HOME > DB > MYSQL
2018.09.30 / 22:38

MySQL UDF 설치 및 사용하기 - mysql trigger java run

GAScripter
추천 수 3

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 동적라이브러리