mysql - 撤销mysql数据库权限

标签 mysql permissions

我正在尝试删除用户对数据库的所有权限。

REVOKE ALL PRIVILEGES ON database.* FROM 'user'@'%';

这只会给出一个错误:

ERROR 1141 (42000): There is no such grant defined for user 'user' on host '%'

运行查询时我以 root 用户身份登录。并且运行show grants for user查询显示该用户对所有数据库都有权限

显示补助金查询的输出:

GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY PASSWORD 'xxxxxx'

最佳答案

撤销声明必须与发放的补助金相匹配。如果授予*.*,您也只能撤销*.*

因为 SHOW GRANTS for 'user'@'%' 显示如下行:

GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY PASSWORD 'xxxxxx'

您需要撤销!

这应该有效:

REVOKE ALL PRIVILEGES ON *.* FROM 'user'@'%';

database.* 表示“database”数据库中的所有表
*.* 表示所有数据库中的所有表

关于mysql - 撤销mysql数据库权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44968899/

相关文章:

java - 无法插入带有外键的记录(android sqlite)

php - jQuery 函数动态加载更多数据

mysql - 按列分组的查询结果的行号

sql-server-2005 - sql server数据库导入问题

react-native - expo-permissions 返回所有权限的无法识别的权限

permissions - 无法在 docker 容器中使用 tc

asp.net-mvc - 无法访问文件

php - mysql通过外键将主表与另一个表连接

php - 从 mysql schemata 的版本控制开始,不要矫枉过正。好的解决方案?

android - 通过 adb 列出 Android 应用程序的权限