lib_mysqludf_sy--mysql集成用戶自定義函數(添加自定義函數)

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章