|
Возможно ли ограничить INSERT,UPDATE и DELETE к одной таблице для все пользователей?
|
|||
---|---|---|---|
#18+
Уважаемые Спецы! Возникла необходимость временно ограничить INSERT,UPDATE, DELETE только к одной таблице в базе данных для всех сразу пользователей. Рассматривались варианты: 1. LOCK TABLE - но не работает так как не реально отследить все запросы 2. TRIGGER on UPDATE,DELETE,INSERT - в данный момент рабочий вариант рассматривается но хотелось бы узнать есть ли другие возможности? Заранее спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 17:38 |
|
Возможно ли ограничить INSERT,UPDATE и DELETE к одной таблице для все пользователей?
|
|||
---|---|---|---|
#18+
Еще можно таблицу переименовать. Если при этом она нужна для чтения , то сделать замещающее вью. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 19:35 |
|
Возможно ли ограничить INSERT,UPDATE и DELETE к одной таблице для все пользователей?
|
|||
---|---|---|---|
#18+
miksoft, спасибо, хороший третий вариант! я как то совсем забыл про вьюз. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 20:07 |
|
Возможно ли ограничить INSERT,UPDATE и DELETE к одной таблице для все пользователей?
|
|||
---|---|---|---|
#18+
alexnews Возникла необходимость временно ограничить INSERT,UPDATE, DELETE только к одной таблице в базе данных для всех сразу пользователей. Переименование для такой задачи - это из пушки по воробьям. А представление - скорее всего изрядно просадит производительность, особенно если таблица пухлая. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 21:45 |
|
Возможно ли ограничить INSERT,UPDATE и DELETE к одной таблице для все пользователей?
|
|||
---|---|---|---|
#18+
Akina Штатным способом выполнить указанное действие является выполнение соотв. REVOKE Насколько я вижу по доке, это относительно недавно стало работать: https://dev.mysql.com/doc/refman/8.0/en/grant.html As of MySQL 8.0.16, it is possible to explicitly deny a privilege granted at the global level by revoking it for particular databases, if the partial_revokes system variable is enabled: GRANT SELECT, INSERT, UPDATE ON *.* TO u1; REVOKE INSERT, UPDATE ON db1.* FROM u1; The result of the preceding statements is that SELECT applies globally to all tables, whereas INSERT and UPDATE apply globally except to tables in db1. Account access to db1 is read only.+ см. https://dev.mysql.com/doc/refman/8.0/en/partial-revokes.html Akina А представление - скорее всего изрядно просадит производительность, особенно если таблица пухлая. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2020, 02:26 |
|
Возможно ли ограничить INSERT,UPDATE и DELETE к одной таблице для все пользователей?
|
|||
---|---|---|---|
#18+
miksoft Akina Штатным способом выполнить указанное действие является выполнение соотв. REVOKE Не работает, по крайней мере на 5.6 решили проблему триггерами которые пытаются вставлять 1 в не существующую таблицу перед UPDATE/DELETE/INSERT вроде работает теперь проблема понять откуда идет запрос на вставление новой записи но это уже другая история. СПАСИБО !!! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 18:52 |
|
Возможно ли ограничить INSERT,UPDATE и DELETE к одной таблице для все пользователей?
|
|||
---|---|---|---|
#18+
alexnews решили проблему триггерами которые пытаются вставлять 1 в не существующую таблицу ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 19:30 |
|
Возможно ли ограничить INSERT,UPDATE и DELETE к одной таблице для все пользователей?
|
|||
---|---|---|---|
#18+
Akina alexnews решили проблему триггерами которые пытаются вставлять 1 в не существующую таблицу Спасибо, как то забыл про SIGNAL ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2020, 22:48 |
|
|
start [/forum/topic.php?fid=47&fpage=25&tid=1828739]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 151ms |
0 / 0 |