mysql - 如何检查当前用户是否对 MySQL/MariaDB 有一定的权限?
问题描述
如何轻松检查当前用户是否具有特定权限,例如他是否可以运行以下语句:
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'
推荐阅读
- c# - 这个 Unity3D 代码的目的是什么?
- node.js - 如果另一个数组中不存在该值,则将其存储在数组中
- java - Huawei Account Kit 无法使用,如何实施?
- c - 将 aws iot 设备 sdk 作为用户 C 模块嵌入到 Micropython
- arrays - 计算 Pine Script 数组中每个元素的变化
- mysql - MySQL计算最长运行长度
- python - 过滤 TensorFlow 数据集中的 NaN 值
- c# - 在前端的 HTTP Post 调用上获取 CORS 错误
- python - 使用 AWS Sagemaker 将雪花数据加载到 Pandas 数据框中
- python-3.x - 如何简单地从相机中读取带有 kivy 的条形码并将结果发送到处理条形码的方法?