我想知道如何授予沒有表的數據庫的權限。如何在沒有mysql的數據庫上授予特權?
我已經試過如下:
GRANT ALL ON數據庫名稱,以用戶名@主機名;
它向我顯示一個錯誤,說「在用戶表中找不到任何匹配的行」。
我想知道如何授予沒有表的數據庫的權限。如何在沒有mysql的數據庫上授予特權?
我已經試過如下:
GRANT ALL ON數據庫名稱,以用戶名@主機名;
它向我顯示一個錯誤,說「在用戶表中找不到任何匹配的行」。
您是否嘗試過這種東西,
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)
問題是我不想爲所有數據庫設置權限。我猜如果我嘗試將*。*的授予用法用於'amarokpasswd'標識的amarokuser @ localhost;至少會設置使用所有數據庫的權限。我對嗎?? – user722756
我還沒有試過。但無論如何謝謝你。 – user722756
它也沒有結果。 – user722756
這可能是您的服務器已啓用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'
好,請問用戶名存在嗎? –
我投票結束這個問題作爲脫離主題,因爲它是爲http://dba.stackexchange.com/不編程相關。 – akostadinov