代码之家  ›  专栏  ›  技术社区  ›  Adam McGurk

试图授予mariadb用户权限时,在表错误中找不到匹配的行

  •  1
  • Adam McGurk  · 技术社区  · 6 年前

    看起来这应该很简单…我从mysql手册中提取了这个命令,更改了授予的特权 轻微地 以及用户。我只是试图向用户添加权限,但在命令行中遇到错误。下面是我要发送的命令:

    GRANT SELECT,INSERT,UPDATE,DELETE ON mytable.* TO 'myclient';
    

    下面是我得到的错误:

    ERROR 1133 (28000): Can't find any matching row in the user table
    


    https://dev.mysql.com/doc/refman/8.0/en/adding-users.html

    我在这里做错什么了?

    (Ubuntu服务器18.04上的MariaDB版本10.1.34)

    1 回复  |  直到 6 年前
        1
  •  1
  •   Paul Campbell Roopesh Shenoy    6 年前

    documentation

    作为用户,当您连接到MySQL服务器时,您的身份是 由连接的主机和用户名决定

    因此,MySQL特权不是授予命名用户,而是授予从特定主机连接的用户。这样命名用户就可以拥有不同的特权,这取决于他们从何处连接。

    user host

    GRANT SELECT,INSERT,UPDATE,DELETE ON mytable.* TO 'myclient'@'%';
    

    您引用的错误消息意味着mysql.user表中没有记录 用户 ='我的客户'和 主办 = '%'.