Невозможно предоставить пользователю LOCK TABLES разрешение

Я использую 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'

я делаю SHOW GRANTS как dbuser и не вижу никаких грантов для LOCK TABLES.

Есть идеи?

1 ответ

Прошло много времени с тех пор, как вы опубликовали этот вопрос. Во всяком случае, на мой взгляд, вы должны быть более конкретными на какую базу данных для блокировки. Возможно, не очень хорошо блокировать их все (.), Потому что сам mysql использует базу данных для системных задач, поэтому, как только вы получите блокировку таблицы, у вас будет доступ только к этой таблице, как сказано в документации. Возможно, информация о блокировке хранится в этой системной базе данных с именем mysql. Итак, вы запираете тот, который хранит сам замок.

Прошло много времени с тех пор, как этот вопрос был задан, но для тех, у кого такая же проблема, попробуйте запустить FLUSH PRIVILEGES; в MySQL.

Другие вопросы по тегам