Доступ запрещен к базе данных, к которой у меня есть доступ - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь предоставить привилегии другому пользователю с помощью phpmyadmin, у меня есть доступ к пользователю root (cl43-flexfit), и я попытался запросить следующее

GRANT ALL PRIVILEGES ON `cl43-flexfit`.* TO 'supuser'@'localhost';

, но получил ответ:

Access denied for user 'cl43-flexfit'@'%' to database 'cl43-flexfit'

Хотя я часто использую эту базу данных с пользователем cl43-flexfit.

Я также посмотрел, какие привилегии root используют для использования SHOW GRANT

, и мне показалиэто:

GRANT USAGE ON *.* TO 'cl43-flexfit'@'%' IDENTIFIED BY PASSWORD 'password'

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, TRIGGER ON `cl43-flexfit`.* TO 'cl43-flexfit'@'%' WITH GRANT OPTION

и даже когда я пытаюсь добавить разрешения пользователю для каждой базы данных (заменив cl43-flexfit. * на *. *), я получаю сообщение об ошибке, говорящее, что у меня нет разрешения

Access denied for user 'cl43-flexfit'@'%' (using password: YES)

Я связался со своей хостинговой службой, и они сказали, что с их стороны все правильно.

У меня также нет доступа к вкладке привилегий в PHPMyAdmin и, следовательно, я не могу использоватьGUI, это должно быть сделано с помощью письменных команд.

Заранее спасибо и извиняюсь, если у меня нет понимания

1 Ответ

0 голосов
/ 01 марта 2019

Вы не можете GRANT ALL, если вы также не обладаете всеми привилегиями, наряду с GRANT OPTION, чего у вас нет.

Вы должны предоставить явное разрешение и перечислить только те разрешения, которые у вас есть (и вы хотите предоставить).

Вы не можете предоставить что-либо ON *.*, если только выглобально удерживайте привилегию, которую вы пытаетесь предоставить, для всех объектов, плюс GRANT OPTION.Опять же, у вас этого нет.

USAGE означает только , что вам разрешено входить на сервер, и ничего более.Это особый случай, когда ON *.* не имеет значительного значения, поскольку простой вход на сервер не связан с каким-либо конкретным объектом.

Служба хостинга работает правильно.

Если у вас есть другие пользователи, вы можете делать только явные разрешения перечисленных разрешений, используя формат, показанный в вашем собственном SHOW GRANTS выводе.

GRANT SELECT, INSERT, [more...], TRIGGER ON `cl43-flexfit`.* TO 'my-other-existing-user'@'%';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...