mysql - 无法向用户授予 LOCK TABLES 权限

标签 mysql locking sql-grant

我正在运行 MySQL 5.1.73-0ubuntu0.10.04.1-log,我正在努力使用户可以锁定表。我使用以下内容授予了 LOCK TABLE:

  • GRANT SELECT, LOCK TABLES ON *.* TO 'dbuser';

Query OK, 0 rows affected (0.00 sec) 响应。

之后,当我以 dbuser 身份登录并尝试执行 LOCK TABLES table_name WRITE; 时,我收到以下错误:

ERROR 1044 (42000): Access denied for user 'dbuser'@'localhost' to database 'dbname'

我以 dbuser 身份执行 SHOW GRANTS,但没有看到任何针对 LOCK TABLES 的 GRANT。

有什么想法吗?

最佳答案

您发布此问题已有很长时间了。无论如何,我认为您应该更具体地确定要锁定的数据库。锁定所有这些表可能不太好 (.),因为 mysql 本身使用一个数据库用于系统 puporses,所以一旦您获得对表的锁定,您只能访问该表,如文档所述。也许有关锁定的信息存储在名为 mysql 的系统数据库中。因此,您正在锁定存储锁本身的那个。

关于mysql - 无法向用户授予 LOCK TABLES 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32642914/

相关文章:

mysql - 内部加入空条件 : bug or feature?

mysql - 将自动递增字段设置回其原始值

mysql - 就像运算符(operator)不工作一样,使用 spring mvc 和 hibernate

assembly - 英特尔 64 和 IA-32 |原子操作,包括获取/释放语义

java - 为什么它不会造成僵局?

mysql - 如何编写好的Mysql授权脚本

mysql - 讨论数据库表变更的触发器

php - 使用 Google Maps API 查找两个位置之间的路线和距离并将其显示在表格中

mysql - 如何只允许一个用户访问数据库?

c# - 为什么这段代码总是得到 SynchronizationLockException?