[英]Cannot grant privileges to a user using root on 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 的其他模式,並且似乎正在工作。 任何想法?
僅當授予將ON *.*
作為schema.table引用時,某些特權才有意義。
手冊頁https://dev.mysql.com/doc/refman/5.7/en/grant.html列出了所有可用的特權,並根據是否可以在不同級別授予它們,對global , database和table進行了注釋。范圍。
SHOW DATABASES
特權只能在全局級別上授予。
因此,您必須采用以下方式:
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' ;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.