代码之家  ›  专栏  ›  技术社区  ›  Nick Weavers

MariaDB创建用户并授予不适用于我的权限

  •  0
  • Nick Weavers  · 技术社区  · 6 年前

    我正在尝试在mariadb中添加一个名为admin的用户,并授予他们来自任何主机的所有权限。

    通过检查mysql.user中的行,我可以看到添加的用户,在创建用户之后,我看到“admin”@“localost”和“admin”@“%”的条目,但是当我尝试执行授权时,它们没有得到操作;

    以下是我作为root用户所做的工作。

    MariaDB [mysql]> CREATE USER 'admin'@'localhost' IDENTIFIED BY 'mypswd';
    Query OK, 0 rows affected (0.000 sec)
    
    MariaDB [mysql]> select user, host, password from mysql.user;
    +-------+-----------+-------------------------------------------+
    | user  | host      | password                                  |
    +-------+-----------+-------------------------------------------+
    | root  | localhost |                                           |
    | root  | 127.0.0.1 |                                           |
    | root  | ::1       |                                           |
    | admin | localhost | *81C702316842FA904B04F249E80134D93FEDB64C |
    +-------+-----------+-------------------------------------------+
    4 rows in set (0.000 sec)
    
    MariaDB [mysql]> CREATE USER 'admin' IDENTIFIED BY 'mypswd';
    Query OK, 0 rows affected (0.000 sec)
    
    MariaDB [mysql]> select user, host, password from mysql.user;
    +-------+-----------+-------------------------------------------+
    | user  | host      | password                                  |
    +-------+-----------+-------------------------------------------+
    | root  | localhost |                                           |
    | root  | 127.0.0.1 |                                           |
    | root  | ::1       |                                           |
    | admin | %         | *81C702316842FA904B04F249E80134D93FEDB64C |
    | admin | localhost | *81C702316842FA904B04F249E80134D93FEDB64C |
    +-------+-----------+-------------------------------------------+
    5 rows in set (0.000 sec)
    
    MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%'  IDENTIFIED BY 'mypswd';
    Query OK, 0 rows affected (0.000 sec)
    
    MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost'  IDENTIFIED BY 'mypswd';
    Query OK, 0 rows affected (0.000 sec)
    
    MariaDB [(none)]> show grants;
    +----------------------------------------------------------------------------------------------------------------------------------------+
    | Grants for root@localhost                                                                                                              |
    +----------------------------------------------------------------------------------------------------------------------------------------+
    | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*4B431B2B44AFED5F3EBCF1E6DFB60B3164A4B0D4' WITH GRANT OPTION |
    | GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION                                                                          |
    +----------------------------------------------------------------------------------------------------------------------------------------+
    2 rows in set (0.000 sec)
    

    为什么我的补助金不起作用?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Nick Weavers    6 年前

    我需要这样做:

    MariaDB [mysql]> SHOW GRANTS FOR 'admin'@'%';
    +---------------------------------------------------------------------------------------------------------------+
    | Grants for admin@%                                                                                            |
    +---------------------------------------------------------------------------------------------------------------+
    | GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY PASSWORD '*81C702316842FA904B04F249E80134D93FEDB64C' |
    +---------------------------------------------------------------------------------------------------------------+
    1 row in set (0.000 sec)
    
    MariaDB [mysql]> SHOW GRANTS FOR 'admin'@'localhost';
    +-----------------------------------------------------------------------------------------------------------------------+
    | Grants for admin@localhost                                                                                            |
    +-----------------------------------------------------------------------------------------------------------------------+
    | GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY PASSWORD '*81C702316842FA904B04F249E80134D93FEDB64C' |
    +-----------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.000 sec)
    

    我觉得这不是直觉。

    推荐文章