2009-11-18 154 views
0

我有一個MySQL數據庫,有多個數據庫使用多個Web應用程序。MySQL,權限問題

我現在需要創建一個新的數據庫,只能通過一個新的用戶帳戶訪問。我一直在使用Navicat v5.3.3管理用戶嘗試設置它,但它似乎並沒有工作,我不知道這是因爲MySQL或Navicat。

但鑑於我想要一個新的賬戶只能訪問(而不是其他數據庫)的數據庫什麼是最好的方式來設置呢?

謝謝

回答

2

您只需創建數據庫並授予用戶所需的權限,就應該啓動一個mysql查詢工具並輸入以下查詢:

CREATE DATABASE foobar; 
GRANT ALL PRIVILEGES ON foobar.* TO 'foobar_user'@'localhost' 
IDENTIFIED BY 'goodsecret'; 

你可以看看MySQL手冊here

1

我通常會使用phpMyAdmin或MySQL命令行界面。 創建數據庫並(使用您的超級用戶帳戶)確保用戶對該數據庫具有適當的權限。

喜歡的東西:

CREATE DATABASE database_name; 
GRANT ALL ON database_name.* TO [email protected]'localhost' IDENTIFIED BY 'password'; 

這將使「new_user」在數據庫名稱的內容全部特權,前提是用戶從本地主機使用「密碼」連接。

如果你想有一個GUI雖然 - 我強烈推薦phpMyAdmin的(http://www.phpmyadmin.net/

編輯:根據您的描述,你還需要確保對其他數據庫的權限設置爲防止這種新的用戶訪問它們;您可以使用'SHOW GRANTS'來查看哪些用戶對哪些表有權限 - 請參閱http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug