无法向用户授予 LOCK TABLES 权限

问题描述 投票:0回答:2

我正在运行 MySQL 5.1.73-0ubuntu0.10.04.1-log,我正在尝试使其用户可以锁定表。我通过以下方式授予了锁定表:

  • 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
,但没有看到任何锁定表的授权。

有什么想法吗?

mysql locking sql-grant
2个回答
0
投票

你已经很久没有提出这个问题了。无论如何,我认为您应该更具体地了解要锁定的数据库。也许锁定所有这些不太好(),因为 mysql 本身使用数据库作为系统用途,因此一旦您获得对表的锁定,您就只能访问该表,如文档所述。也许有关锁定的信息存储在名为 mysql 的系统数据库中。所以你锁定的是存储锁本身的那个。


0
投票

自从提出这个问题以来已经有一段时间了,但是对于遇到同样问题的任何人,请尝试在 MySQL 中运行

FLUSH PRIVILEGES;

© www.soinside.com 2019 - 2024. All rights reserved.