是否可以在Mysql的存儲過程中包含腳本文件(.sh文件)? 如果是,那麼如何? 如果不是,那爲什麼?如何在Mysql存儲過程中包含.sh(腳本)文件?
2
A
回答
1
像@mu太短說:
您需要從安裝這些UDF的:http://www.mysqludf.org/lib_mysqludf_sys/index.php
這裏的下載鏈接:http://www.mysqludf.org/lib_mysqludf_sys/lib_mysqludf_sys_0.0.3.tar.gz
注意,您shell命令將與MySQL的權限運行用戶,而不是連接到MySQL的用戶的特權。
從安全角度來看,這可能是一個壞主意。
注意鏈接中的警告:
小心的注意 是決定你是否需要這個功能非常小心。 UDF可供所有數據庫用戶使用 - 您無法爲其授予EXECUTE特權。由於傳遞給sys_exec的命令字符串幾乎可以做所有事情,暴露該函數會帶來非常實際的安全隱患。
即使對於一個良性用戶,也可能意外地對它造成很大的傷害。該調用將以運行MySQL的os用戶的特權執行,因此刪除MySQL數據目錄是完全可行的,或者更糟。
該函數用於需要對操作系統進行擴展控制的專用MySQL應用程序。目前,我們沒有用於ftp,email和http的UDF,並且可以使用此功能來實現這種功能,以防萬一它真的有必要(例如,數據倉庫分段區域可能是案例)。
您已收到警告!如果您沒有看到危險,請不要試圖找到它;只要相信我就可以了。
如果您決定在生產環境中使用此庫,請確保僅運行特定命令,並且使用AppArmor限制文件訪問。
相關問題
- 1. 如何在腳本編寫SQL Server存儲過程時包含模式?
- 2. 如何通過腳本(.sh文件)運行mac應用程序?
- 3. MySQL存儲過程vs PHP腳本
- 4. 如何存儲包含在MySQL
- 5. SSIS包腳本我所有的存儲過程.SQL文件
- 6. 如何將命令行腳本包裝到./sh文件中
- 7. 在MYSQL存儲過程中生成一個文本文件
- 8. 可能在MYSQL存儲過程中打開文本文件?
- 9. 如何從TSQL腳本存儲過程
- 10. 如何從windows腳本文件執行oracle存儲過程?
- 11. 如何在Linux Shell腳本文件中包含文件?
- 12. 如何將oracle蟾蜍中的存儲過程保存到腳本文件中
- 13. 在PHP腳本中調用mysql中的存儲過程
- 14. 如何在jar包中包含腳本文件
- 15. 如何在ASP.NET MVC5腳本包中多次包含文件?
- 16. 在.sh腳本中編輯html文件
- 17. 如何在F#中包含存儲過程
- 18. 如何通過php腳本在html文件中包含一個php文件
- 19. 在node.js腳本中包含JavaScript文件
- 20. 如何在包中包含bash腳本?
- 21. 包含文件夾腳本
- 22. 如何將jar文件包含到Oracle中的Java存儲過程?
- 23. 如何有條件地在JavaScript中包含腳本文件?
- 24. 在Cocoa/Xcode輸出中包含.sh腳本
- 25. 如何將.vbs腳本文件包含到.xhtml文件中?
- 26. 如何在mysql中隱藏我的存儲過程和函數腳本
- 27. 我如何找到什麼存儲過程包含一段文本
- 28. 如何使用.SH文件腳本替換文本文件中的文本?
- 29. 如何在存儲過程中執行批處理腳本?
- 30. 如何在PostgreSql中執行存儲過程的python腳本?