Как создать пользователся в mysql с возможностью давать права только определенным пользователям?
Стоит задача организовать следующую структуру взаимодействия пользователей на сервере.
Есть пользователь root@localhost, который может все, кроме работы с файлами (и возможно ограничены еще несколько критичных возможностей).
И должен быть пользователь admin@'%', который может все, кроме следующих возможностей:
- не может удалить root@localhost
- не может изменить его права *root@localhost*
- не может создать другого супер пользователя
- не может работать с файлами (и т.д.)
И мне непонятно как именно дать права на наделение прав с ограничением наделения прав пользователю root@localhost. То есть команда должна быть примерно такой, только еще как то нужно добавить фильтр по пользователям: GRANT ALL ON *.* TO 'admin'@'%' WITH GRANT OPTION;
В гугле ответа не нашел.
Это можно сделать, только написав прослойку, которой будет пользоваться admin, и которая будет проверять данный сценарий работы, и иметь набор команд для управления пользователями. Средствами самого mysql такое не реализуется.
Vi Vola, Да, или что проще, будет принимать на входе просто команды(create username, allow databasename username, passwd username и.т.п), проверять доступно-ли такое действие пользователю, а на выходе делать запросы нужные. Т.е. что-то типа mysqladmin, только с более сложной логикой.