【发布时间】:2022-01-25 14:22:42
【问题描述】:
我创建了一个架构并将其权限授予特定用户:
GRANT ALL PRIVILEGES ON USED_CARS.* TO ANDREW@LOCALHOST;
数据库是使用 root 用户创建的,然后将这些权限授予另一个用户。现在,当我切换到另一个帐户时,我可以使用 SHOW SCHEMAS; 查询列出架构,但无法使用 use USED_CARS; 查询切换到该数据库。
以下错误弹出:
错误 1044 (42000):用户 'ANDREW'@'localhost' 拒绝访问数据库 'USED_CARS'
我在这里缺少什么?提前感谢您的帮助。
【问题讨论】:
-
USED_CARS是数据库吗?您必须指定表,所有表都使用通配符:db_name.*。见mariadb.com/kb/en/grant/#syntax -
是的 USED_CARS 是一个数据库,我用通配符试过了,仍然拒绝访问。
-
还有一点是 localhost 必须是小写的。检查您的错误消息,
'ANDREW'@'localhost'的访问被拒绝。如果你的数据库和用户名都是大写的,那么正确的语法应该是:GRANT ALL PRIVILEGES ON USED_CARS.* TO 'ANDREW'@'localhost'; -
试过了,还是不行..