mysql - 如何检查当前用户是否具有 MySQL/MariaDB 的特定权限?

标签 mysql mariadb privileges

如何轻松检查我的当前用户是否具有特定权限,例如如果他可以运行以下语句:

INSERT INTO testdb (id) VALUES ('1');

当然,我可以尝试一下,但我需要信息才能知道要插入什么。由于我没有删除权限,所以输入任何内容都不起作用。 使用 SHOW GRANTS; 对我来说还不够,因为它会非常复杂,因为我可以在很多方面拥有一定的特权,例如直接、通过角色、仅适用于我的主机等.

是否有更简单的方法来检查我的权限?

非常感谢!

最佳答案

您可以使用INFORMATION_SCHEMA根据需要执行的操作查询所需的权限。

SELECT IF(COUNT(*) > 0, TRUE, FALSE) AS Allowed
FROM INFORMATION_SCHEMA.USER_PRIVILEGES
WHERE GRANTEE LIKE '%user%' AND PRIVILEGE_TYPE = 'INSERT'

关于mysql - 如何检查当前用户是否具有 MySQL/MariaDB 的特定权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58012006/

相关文章:

php - phpmyadmin 数据库中表的数量 4

Docker 没有使用 Dockerfile 将用户添加到 MariaDB

mysql - 如何确保数据库表中只有一行?

mysql - 给定所有权限,在 MySQL 上创建表的权限

javascript - 从 jQuery 下拉列表中访问变量

mysql - 将 Active Record 对象和字符串属性转换为 JSON

mysql - T-Sql,在列中拆分字符串并插入表中

mysql - Rsync MariaDB 数据文件夹 Docker 安全吗?

mysql - 授予对 MySQL 的权限

mysql - 搜索空字符串的最佳方法是 ' ' 吗?