簡體   English   中英

無法在 mysql 上向使用 root 的用戶授予權限

[英]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列出了所有可用的特權,並根據是否可以在不同級別授予它們,對globaldatabasetable進行了注釋。范圍。

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' ;

我有一個奇怪的事情是“root”用戶有權授予權限,但我仍然不得不使用用戶“admin”來代替。

使用root,我得到:

SQL Error [1045] [28000]: Access denied for user 'root'@'%' (using password: YES)

這可能只是設置,但是當我在 DBeaver 的 GUI 中查找它時(連接 --> 用戶 --> 授予 --> 查看授予),他們都檢查了所有權限,但我仍然無法授予權限使用“root”用戶。

也許它可以幫助另一個奇怪的數據庫設置的人。

行政:

在此處輸入圖像描述

根:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM