1.lib_mysqludf_sys簡介
mysql中沒有執行外部命令的函數,要調用外部的命令,可以通過開發MySQL UDF來實現,lib_mysqludf_sys 就是一個實現了此功能的UDF庫。
下載地址:https://github.com/mysqludf/lib_mysqludf_sys
2.使用方法
2.1 安裝部署
a) lib_mysqludf_sys.so複製到mysql/lib/plugin目錄下。
b) 在mysql中創建函數(根據需要選取):
1
2
3
4
5
6
7
8
9
10
11
|
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' ; |
2.2 使用此函數
例:在select語句調用mkdir命令
1
|
Select
sys_exec( 'mkdir
-p /home/user1/aaa' ) |
例:在觸發器中調用外部的腳本(腳本需要可執行權限)
1
2
3
4
5
6
|
Create
TRIGGER
trig_test AFTER
Insert
ON
<table1> FOR
EACH ROW BEGIN DECLARE
ret INT ; Select
sys_exec( '/home/user1/test.sh' )
INTO
ret; END
|