MySQL предоставляет привилегии отказа в доступе

У меня есть проект Yii2, который управляет некоторым набором баз данных. Он имеет одно базовое соединение с базой данных, где я храню данные аутентификации пользователей, а второе соединение указывает на базу данных, автоматически создаваемую для каждого пользователя.

Я должен создавать базы данных программно; Итак, у меня есть пользователь project который имеет глобальную привилегию гранта и групповые привилегии на project\_%. *. Это то, чем я занимаюсь:

    $queries = [
"CREATE DATABASE ".$dbname,
"FLUSH PRIVILEGES",
"CREATE USER '{$dbuser}'@'localhost' IDENTIFIED BY '{$dbpass}'",
"GRANT ALL PRIVILEGES ON {$dbname}.* TO '{$dbuser}'@'localhost'"];

foreach($queries as $q) $application->db->createCommand($q)->execute();

$dbname is 'project_'.randomString(8).

Я дважды проверил все project привилегии, проверено mysql,user а также information_scheme У меня также есть грантируемые привилегии и опция предоставления, но все равно появляется ошибка доступа:

SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1044 Отказано в доступе для пользователя ‘project’ @ ‘localhost’ к базе данных ‘project_sck6jdyb’
Выполнение SQL было: ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА project_sck6jdyb. * TO ‘pu_sck6jDyB’ @ ‘localhost’.

MySQL version is 5.6.21работает под XAMPPWindows. Это ошибка или я что-то делаю не так?

Обновить: SHOW GRANTS for project@localhost;

GRANT INSERT, CREATE, DROP, RELOAD, INDEX, ALTER, SUPER, CREATE USER ON *.* TO ‘project’ @ ‘localhost’, ОПРЕДЕЛЯЕМЫЙ ПАРОЛЕМ * * [secret] ‘С ГРАНТ-ВАРИАНТОМ

ПРЕДОСТАВЛЯТЬ ВСЕ ПРИВИЛЕГИИ НА project. * TO ‘project’ @ ‘localhost’

ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА project\_%. * TO ‘project’ @ ‘localhost’ С ГРАНТОВЫМ ВАРИАНТОМ

0

Решение

Чтобы предоставить привилегии, у вас должна быть привилегия GRANT_OPTION, а также у вас должна быть привилегия, которую вы хотите предоставить. Из вашего поста у вас есть следующие привилегии: INSERT, CREATE, DROP, RELOAD, INDEX, ALTER, SUPER, CREATE USER,

Попробуйте предоставить только те привилегии, которые у вас есть. Я ожидаю, что это будет работать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]