2011-08-30 101 views
3

我想知道如何授予沒有表的數據庫的權限。如何在沒有mysql的數據庫上授予特權?

我已經試過如下:

GRANT ALL ON數據庫名稱,以用戶名@主機名;

它向我顯示一個錯誤,說「在用戶表中找不到任何匹配的行」。

+1

好,請問用戶名存在嗎? –

+1

我投票結束這個問題作爲脫離主題,因爲它是爲http://dba.stackexchange.com/不編程相關。 – akostadinov

回答

4

您是否嘗試過這種東西,

mysql> create database amarokdb; 
Query OK, 1 row affected (0.00 sec) 

mysql> grant usage on *.* to [email protected] identified by 'amarokpasswd'; 
Query OK, 0 rows affected (0.00 sec) 

mysql> grant all privileges on amarokdb.* to [email protected] ; 
Query OK, 0 rows affected (0.00 sec) 
+0

問題是我不想爲所有數據庫設置權限。我猜如果我嘗試將*。*的授予用法用於'amarokpasswd'標識的amarokuser @ localhost;至少會設置使用所有數據庫的權限。我對嗎?? – user722756

+0

我還沒有試過。但無論如何謝謝你。 – user722756

+0

它也沒有結果。 – user722756

0

這可能是您的服務器已啓用NO_AUTO_CREATE_USER模式。

從MySQL手冊:(http://dev.mysql.com/doc/refman/5.6/en/server-sql-mode.html

NO_AUTO_CREATE_USER防止GRANT語句從自動 創建新用戶,如果它本來這樣做,除非一個非空 密碼也被指定。 (在MySQL 5.0.2新增)

所以,你可以刪除的NO_AUTO_CREATE_USER模式或創建這樣的用戶輸入密碼:

GRANT ALL ON databasename TO [email protected] IDENTIFIED BY 'your non-empty password here' 
相關問題