2017-11-23 8 views
1

上のルートを使用して、ユーザーに権限を付与することはできません私は(すでに作成したユーザーに)これをやってMySQLとイムのユーザーには、MySQL

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER, SHOW DATABASES, 
CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, 
CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER 
ON mydatabase.* 
TO 'myuser'@'localhost' ; 

を明示的な権限を与えることをしようとしています。しかしイムは、この奇妙なエラーを取得します:

Incorrect usage of DB GRANT and GLOBAL PRIVILEGES 

私はGRANT ALL PRIVILEGESを作っている他のユーザーと他のスキーマを試してみましたが、動作しているようです。何か案が?

答えて

1

一部の特権は、grantによってON *.*がschema.tableとして参照される場合にのみ意味があります。

マニュアルページhttps://dev.mysql.com/doc/refman/5.7/en/grant.htmlリスト使用可能なすべての権限、およびノー​​トスコープの異なるレベルでそれらを与えることができるかどうかに基づいてグローバルデータベーステーブル、ため各。

SHOW DATABASES特権は、グローバルレベルでのみ付与できます。それは何の権限を持っていないようにS:それは動作しますが、その後、私は、ユーザーMYUSERと入力したときに、私は何のスキーマを見ていないことなどの

GRANT SHOW DATABASES 
ON *.* 
TO 'myuser'@'localhost' ; 

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER, 
CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, 
CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER 
ON mydatabase.* 
TO 'myuser'@'localhost' ; 
+0

だからあなたは、このようにそれを行う必要があるでしょう – jpganz18