Не знаю, возможно это вообще или нет. Я хочу, чтобы когда определенный соединение установлено, пользователь не сможет изменять данные с помощью этого соединения. Это сценарий:
Подключение выполнено
пользователь запускает запрос, чтобы предотвратить его изменение. что-то вроде:
mysql->stop grant insert
соединение выполняет свои обычные запросы. но модифицирующие запросы не выполняются. будет выдана ошибка.
пользователь запускает запрос для возврата в исходное состояние:
mysql->resume grant insert
Фактическая проблема, с которой я столкнулся, заключается в том, что у меня есть только один пользователь с разрешением на изменение данных, но не может создать другого пользователя. Но мне также нужен только чтение пользователь в определенных случаях. Тогда я подумал, можно ли сказать MySQL Server
для временного запрета доступа на изменение при установке соединения. Но для других подключений пользователь должен иметь свои обычные привилегии.
Спасибо за помощь
да, вы можете это сделать, но ваш пользователь MySQL может изменять привилегии только в том случае, если этому пользователю дана GRANT OPTION. http://dev.mysql.com/doc/refman/5.7/en/grant.html
См. Также отозвать http://dev.mysql.com/doc/refman/5.7/en/revoke.html
Синтаксис будет таким:
REVOKE INSERT ON database.* FROM your user
grant insert on database.* from your user
Я не рекомендую этого делать.
Если вам нужно разделить привилегии, например чтение / запись и только чтение, тогда у вас должно быть две учетные записи пользователя.