Не работает управление прав в mysql

200
10 декабря 2017, 09:59

Добрый день. В данный момент читаю книгу "Линн Бейли - Изучаем SQL", раздел про привелегии. Испытываю проблемы с командами REVOKE GRANT OPTION, RESTRICT и CASCADE. Делаю все, как написано в книге, но mysql ругается.

Мои действия:

mysql -u root -p
******
create user test1;
create user test2;
use some_db;
grant select on some_table to test1 with grant option;
quit;
mysql -u test1
use some_db;
grant select on some_table to test2;
quit;
mysql -u root -p
******
use some_db;
revoke grant option on select on some_table from test1;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select on some_table from test1' at line 1

При этом команда

revoke select on some_table from test1

работает. А команда

revoke select on some_table from test1 cascade

уже не работает. То же самое с restrict. Выдает:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'restrict' at line 1

В чем может быть причина? Mysql не поддерживает эти команды? Заранее спасибо за ответы.

Answer 1

читаю книгу "Линн Бейли - Изучаем SQL"

Наверняка в этой книге присутствует фраза

Синтаксис команд может отличаться у разных СУБД. Для уточнения синтаксиса смотрите документацию на конкретную СУБД

Документация MySQL вполне четко говорит о синтаксисе команды REVOKE

REVOKE
    priv_type [(column_list)]
      [, priv_type [(column_list)]] ...
    ON [object_type] priv_level
    FROM user [, user] ...
REVOKE ALL [PRIVILEGES], GRANT OPTION
    FROM user [, user] ..

Т.е. никаких модификаторов CASCADE, RESTRICT не поддерживается. И синтаксис REVOKE GRANT считается невалидным

READ ALSO
Как вывести значение из БД

Как вывести значение из БД

Как вывести значение из БД при помощи Golang mysql?

433
1c bitrix таблица b_sec_virus

1c bitrix таблица b_sec_virus

День добрый, на сайте с битриксом, возникла странная фигняТаблица b_sec_virus выросла до 2 гигов, при 5 строчках

224
Транзакции и блокировки в MySQL

Транзакции и блокировки в MySQL

Всем приветПеречитал много статей по транзакциям и блокировкам в MySQL, но пока так и не понял, что следует использовать для моего случая

186
В Yii2 dbQuery join() как написать LIMIT?

В Yii2 dbQuery join() как написать LIMIT?

Здравствуйте! При получения данные из другой таблицы с помощью JOIN нужно забрать только один елемент как это можно реализовать?

273