MySQL的source命令是用來執行在SQL腳本文件中寫好的SQL語句的命令。但是,使用source命令需要有對應的權限。
在MySQL中,有多種權限,包括全局權限和數據庫權限等。其中,與source命令相關的權限是file權限和execute權限。
要使用source命令,首先需要擁有file權限。file權限允許用戶在MySQL服務器上讀寫文件。如果沒有file權限,則無法使用source命令,因為source命令需要讀取腳本文件的內容。
GRANT FILE ON *.* TO 'user'@'localhost';
以上代碼為賦予'user'@'localhost'用戶全局的file權限。
其次,還需要擁有execute權限。execute權限允許用戶執行存儲過程和自定義函數。由于source命令執行的內容也是一些預先寫好的SQL語句,因此也需要execute權限。
GRANT EXECUTE ON *.* TO 'user'@'localhost';
以上代碼為賦予'user'@'localhost'用戶全局的execute權限。
當然,也可以將以上兩個權限授予一個用戶組,方便多用戶共用。
GRANT FILE, EXECUTE ON *.* TO 'group'@'localhost';
以上代碼為賦予'group'@'localhost'用戶組全局的file和execute權限。
總之,賦予file和execute權限可以讓用戶使用source命令執行腳本文件中的SQL語句,方便管理和維護數據庫。