Я новичок в административной части СУБД и сегодня вечером настраивал новую базу данных (используя 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