mysql - 如何撤销对带有双引号的用户的授权
问题描述
我在 mariadb 数据库中错误地创建并授予了带有双引号的用户权限。
MariaDB [mysql]> select * from information_schema.user_privileges;
+--------------------------------------+---------------+-------------------------+--------------+
| GRANTEE | TABLE_CATALOG | PRIVILEGE_TYPE | IS_GRANTABLE |
+--------------------------------------+---------------+-------------------------+--------------+
...
| '"bob@grr.la"'@'%' | def | SELECT | NO |
| '"bob@grr.la"'@'%' | def | INSERT | NO |
| '"bob@grr.la"'@'%' | def | UPDATE | NO |
| '"bob@grr.la"'@'%' | def | DELETE | NO |
...
+--------------------------------------+---------------+-------------------------+--------------+
我尝试了许多不同的转义组合,但是当我尝试撤销该用户的权限时,我似乎无法针对该用户。
我试过了:
revoke all, grant option from '"bob@grr.la"'@'%';
revoke all, grant option from "bob@grr.la"@'%';
revoke all, grant option from \"bob@grr.la\"@'%';
revoke all, grant option from "%bob%"@'%';
revoke all, grant option from '%bob%'@'%';
这些都不起作用。是什么赋予了?
解决方案
您需要转义双引号,例如:
MariaDB [(none)]> create user '\"bob@grr.la\"'@'%';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> grant all on test.* to '\"bob@grr.la\"'@'%';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> revoke all privileges, grant option from '\"bob@grr.la\"'@'%';
Query OK, 0 rows affected (0.01 sec)
推荐阅读
- python - Quickfix Python 问题与心跳和订单事件之间的消息序列号
- dynamics-crm - 营销电子邮件中创建的动态内容关系是什么格式?(协助编辑)
- r - 如何在 R 中交叉引用 CSV 和 .txt 文件以查找重叠?
- java - 在 Spring Boot 应用程序中使用 Liquibase 时配置自定义数据源
- python - 如何在特定内核上启动并行进程?
- kubernetes - 如何解决错误:主机 nxdomain(不存在的域)的 epmd 错误?
- java - xmlMapper 转换为 byte64 字符串
- c# - 使用 C# Selenium Webdriver 正确附加到现有的 chrome 驱动程序
- elasticsearch - 如何在 EFK 中显示缺失的索引模式数据
- python - 合并两个具有大部分不同键和值的字典列表