Я новичок в области администрирования СУБД и настраивал новую базу данных сегодня вечером (используя MySQL), когда заметил это. После предоставления пользователю привилегии в первый раз, создается другое разрешение, которое выглядит как
GRANT USAGE on *.* TO user IDENTIFIED BY PASSWORD password
В документации сказано, что привилегия USAGE
означает «нет привилегий», поэтому я предполагаю, что гранты работают иерархически, и, возможно, у пользователя должны быть какие-то привилегии для всех баз данных, так что это служит ловушкой для всех?
Я также не понимаю, почему в этой строке есть предложение IDENTIFIED BY
, когда у созданного мной гранта его нет (в основном потому, что я не понимаю, для какой цели служит предложение IDENTIFIED BY
).
Редактировать: Извините, что не заявили об этом изначально, гранты были
GRANT ALL PRIVILEGES ON database.* TO admin_user
GRANT SELECT, INSERT, UPDATE, DELETE ON database.* TO user