Я разрабатываю веб-интерфейс php, который позволяет создавать базу данных и пользователя mysql.
Чтобы избежать использования root-пользователя mysql, я создал специальный mysqlcreator, который может создавать пользователей, создавать и показывать базы данных и предоставлять те же привилегии пользователям, которые его создают.
CREATE USER 'mysqlcreator'@'localhost' IDETIFIED BY 'randompassword';
GRANT CREATE USER, CREATE, SHOW DATABASES, GRANT OPTION ON *.* TO 'mysqlcreator'@'localhost';
Таким образом, если mysqlcreator создает новых пользователей, предоставляющих им привилегию CREATE, они смогут создавать базы данных и будут иметь все привилегии для баз данных, которые они создали, но не для других. Это самое простое решение, которое я нашел для достижения своей цели. (но, может быть, есть и лучшие)
Теперь я хотел бы показать список баз данных, показывающих, какие пользователи имеют привилегии для каждой из них, но я не могу понять, как это сделать.
Я искал в базе данных MySQL (procs_priv, дБ), а также пытался с show create database
но без удачи.
Любая помощь будет оценена.
Спасибо
Задача ещё не решена.
Других решений пока нет …