2013-07-18 59 views
-2

如何隱藏MySQL存儲過程: 與SQL Server存儲過程中的加密一樣。我試圖隱藏存儲過程,外部用戶如何隱藏mysql存儲過程

+0

「喜歡加密」? - 你的意思是隱藏其內容或隱藏其存在? – Rup

+1

你將如何向用戶展示一個proc :),因爲我知道的是你可以將proc名稱和參數傳遞給最終用戶,不需要其他任何東西/需要 – Satya

+0

你怎麼能用一張臉來問這樣一個問題? ?隱藏用戶的存儲過程?他們如何看待它?你通過「隱藏」它實現了什麼?它有什麼作用?爲什麼你首先使用有權訪問存儲過程的相同用戶帳戶來允許用戶連接到mysql?有0個知識證明,你有我的downvote。 –

回答

3

由於SHOW CREATE PROCEDURE Syntax下記載:

這種說法是一個MySQL擴展。它返回可用於重新創建指定存儲過程的確切字符串。類似的陳述SHOW CREATE FUNCTION顯示有關存儲功能的信息(請參閱Section 13.7.5.10, 「SHOW CREATE FUNCTION Syntax「)。

這兩個聲明都要求您是該例程的所有者,或者要求SELECT訪問mysql.proc表。如果您對例程本身沒有權限,則顯示的Create ProcedureCreate Function字段的值將爲NULL

Therfore,以防止用戶查看存儲的過程的主體,確保:

  • 它們不是存儲過程的所有者;和

  • 他們無權訪問mysql.proc表。

您可以閱讀更多關於The MySQL Access Privilege System