【问题标题】:Mysql Mariadb user not able to access DBMysql Mariadb 用户无法访问数据库
【发布时间】: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';
  • 试过了,还是不行..

标签: mysql mariadb


【解决方案1】:

有时根据服务器的配置,你可以使用 localhost 或 ip:127.0.0.1

你能不能试试这个...

将 USED_CARS.* 上的所有特权授予 'ANDREW'@'%';

【讨论】:

  • 它的响应是 >can't find a matching role in user table.
  • 如果您尝试使用:GRANT ALL PRIVILEGES ON USED_CARS.* TO 'ANDREW'@'LOCALHOST';
  • 同样的问题,访问被拒绝。
猜你喜欢
  • 2020-06-12
  • 1970-01-01
  • 2021-06-01
  • 2010-12-10
  • 2012-06-20
  • 2016-08-15
  • 2020-12-18
  • 2020-10-26
  • 2013-04-14
相关资源
最近更新 更多