gpt4 book ai didi

mysql - 无法在 mysql 上使用 root 向用户授予权限

转载 作者:行者123 更新时间:2023-11-29 01:50:11 29 4
gpt4 key购买 nike

我正在尝试向 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列出所有可用的权限,并根据您是否可以在不同级别的范围授予它们,对全局数据库分别进行注释。

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

关于mysql - 无法在 mysql 上使用 root 向用户授予权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47460670/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com