【问题标题】:MariaDB CREATE USER and GRANT PERMISSION not working for meMariaDB CREATE USER 和 GRANT PERMISSION 对我不起作用
【发布时间】:2023-03-12 22:05:01
【问题描述】:

我正在尝试在 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)

为什么我的 GRANT 不起作用?

【问题讨论】:

    标签: mysql permissions mariadb sql-grant createuser


    【解决方案1】:

    对不起,我的错。我确实很努力地寻找答案,但我只是发现如果您从 localhost 以 root 身份登录并使用 SHOW GRANTS;它只会向您显示“root”@“localhost”的那些授权。

    我需要这样做:

    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)
    

    我不觉得这很直观。

    【讨论】:

      猜你喜欢
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 1970-01-01
      • 1970-01-01
      • 2022-10-15
      相关资源
      最近更新 更多