2013-03-01 61 views
0

我希望有人可以幫我一個MySQL/phpMyAdmin問題。 (我甚至不知道是否有可能......)從用戶隱藏數據庫,同時允許用戶查詢它

這是問題: 我有2個數據庫:DB1和DB2 我有一個用戶DB1user。此用戶可以完全訪問DB1,並可以選擇訪問DB2中的特定表。 我希望有一種方法可以從用戶隱藏DB2。即當用戶鍵入'SHOW DATABASES;'時,我希望該用戶只能看到DB1。但是,當用戶鍵入'SELECT * FROM DB2.TABLE1;'時,他應該看到他的查詢結果。

這可能嗎?可行?

感謝您的幫助!

+1

如果用戶具有對DB2的選擇訪問權限並且權限設置正確,那麼讓用戶看到DB2有什麼壞處?他們只能訪問/修改他們有權訪問的內容。 – War10ck 2013-03-01 17:29:01

+0

的確如此。在我的情況下,用戶有限制訪問的數據庫是_phpmyadmin_這是一個管家數據庫,我不一定希望用戶知道它的存在,因爲我不太清楚這個管家數據庫真的存儲了什麼...... – dimaj 2013-03-01 18:00:20

+0

I認爲你的答案沒有答案,只要你願意!最好的辦法是在虛擬主機中分離數據庫,每個客戶端都在你自己的地方。 PhpMyAdmin不是管理這種類型os問題的最佳工具,否則你有mysql命令行,我認爲要實現你想要的更好! – B4NZ41 2013-07-20 21:21:38

回答

0

這兩個查詢將用戶限制到一個單一的數據庫,這樣用戶只能看到,更新,並從單一的數據庫中刪除表:

替換用戶與MySQL用戶名

更換USERDATABASE與您希望用戶有權訪問的單個MySQL數據庫。

REVOKE ALL PRIVILEGES,GRANT OPTION from USER; 

GRANT ALL ON USERDATABASE.* TO 'USER'; 
+0

但是這會限制用戶只能訪問他的數據庫...... phpMyAdmin有一個名爲_phpmyadmin_的新數據庫,其中包含一些家務管理信息和其他與phpMyAdmin相關的內容。只有當用戶通過phpMyAdmin接口登錄時,纔會對該數據庫進行查詢。用戶甚至不應該知道這個數據庫,因此不應該在他有權訪問的數據庫列表中看到它。然而,如果用戶確實知道_phpmyadmin_,他應該能夠針對它運行查詢。 – dimaj 2013-03-01 17:44:24

0

你有沒有嘗試使用在phpMyAdmin特權頁面,您可以創建用戶並限制其特定的數據庫以及操作的訪問?

+0

是的。這就是我現在所擁有的。用戶可以完全訪問他的數據庫並選擇訪問phpmyadmin。在數據庫部分(左側),我看到3個數據庫可見:DB1,information_schema和phmyadmin。我想在保留用戶對phpmyadmin的訪問權限的同時只看到BD1。 – dimaj 2013-03-01 17:43:15

相關問題