2015-02-05 50 views
0

希望授予用戶訪問權限,僅限於在數據庫中顯示一個存儲過程,並防止用戶看到任何其他表,視圖和/或特效。當用戶經由phpMyAdmin的訪問測試服務器上,但不能遠程(奇數)僅用於查看/從存儲過程中選擇的MySQL安全權限

GRANT EXECUTE ON PROCEDURE myDB.spName TO 'TestUser'@'localhost'; 

作品:

我已閱讀this post和。當他們遠程時,他們只能「看到」信息模式。我需要完全限定服務器名稱而不是'localhost'嗎?

也讀了MySQL security docs無濟於事。

最後,this question兩年前發佈似乎描述了類似的需求,但從未回答。

[編輯展現補助]

Grants for [email protected] 
GRANT USAGE ON *.* TO 'TestUser'@'localhost' IDENTIFIED BY PASSWORD '*FC6....' 
GRANT EXECUTE ON PROCEDURE `database`.`sp_name` TO 'TestUser'@'localhost' 

[從下列@ BK435方案爲了給遠程用戶的MySQL訪問一個(或多個)存儲的特效,沒有別的,你需要自己的IP地址,然後:

1)如果MySQL遠程安全在使用使用cPanel->遠程MySQL和「添加接入主機」與自己的IP,然後執行在MySQL命令(假設足夠的權限)

GRANT EXECUTE ON PROCEDURE YourDatabase.YourStoredProcedure TO 'TestUser'@'THIER IP ADDRESS'; 

回答

0

您已將TestUser綁定到本地主機,這是他無法遠程訪問(從另一個IP)的原因。如果你想讓Testuser遠程訪問,你需要指定該IP或只使用通配符(%),以便他可以從任何地方(本地或不是)訪問它。

+0

謝謝你的回覆。要明確我們不是在談論遠程MySQL,但這個特定的用戶權利?這個用戶已經被「白名單」列爲遠程訪問MySQL,但仍然無法看到遠程。如果我正確理解你,我需要授予執行....除了白名單遠程訪問'TestUser'@'IP地址'? – TransitDataHead 2015-02-05 19:52:27

+0

你能否發佈他的「白名單」用戶權限? TestUser – BK435 2015-02-05 20:00:44

+0

執行命令顯示授予絕對。我所說的「白名單」是通過cPanel-> RemoteMySQL。很快就會更新。 – TransitDataHead 2015-02-05 20:15:32