項目裡打算對Mysql數據庫中某一張表做監控,當表中插入數據是調用linux系統的shell腳本,所以在mysql中寫自定義函數調用操作系統命令,在網上找到了相關的UDF包(lib_mysqludf_sys_0.0.3.rar)
看到網上有人使用,說沒問題,比如這樣一篇:http://blog.csdn.net/cnbird2008/article/details/4922078。
但是我使用過後,裡面的方法有2個主要的沒法用,比如這個___ _select sys_exec('/root/test/testExcute.sh');執行這個語句
mysql> select sys_exec('/root/test/testExcute.sh');
+--------------------------------------+
| sys_exec('/root/test/testExcute.sh') |
+--------------------------------------+
| 32256 |
+--------------------------------------+
1 row in set (0.02 sec)
而實際上腳本testExcute.sh根本沒運行
返回32256 ,看了下實現的源代碼,這個裡面似乎主要調用了C中system(),
不知道問題具體出現在哪兒?
問題已解決,原因是操作系統的SELinux的原因,我把他關閉,重啟了下操作系統,就可以了