Проблемы с пользователем root, не предоставляющим привилегии - PullRequest
0 голосов
/ 21 апреля 2019

Я создаю этого нового пользователя специально для использования с моим проектом django, я создал этого же пользователя с помощью mariadb и phpmyadmin, готово, пытаюсь сделать то же самое с mysql, и внезапно я обнаружил, что мой пользователь root не может предоставлять привилегии другим пользователям.

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

Это не удаленное соединение, все с localhost.

Видел, как много людей говорили, что я должен сбросить привилегии после предоставления опции, проблема в том, что я не могу предоставить что-либо в первую очередь, уже пытался предоставить все с параметром предоставления с правами администратора root, и наоборот

В текущей строке указано, что вы ожидаете, и у администратора, и у пользователя есть привилегия и супер привилегия.

Вторая строка показывает все привилегии, принадлежащие и предоставленные для пользователя root, как вы можете видеть, в конце он показывает опцию предоставления.

SELECT Host,User,Grant_priv,Super_priv FROM mysql.user;

SHOW GRANTS FOR 'root'@'localhost';

╔═══════════╦══════════════════╦════════════╦════════════╗
║ Host      ║ User             ║ Grant_priv ║ Super_priv ║
╠═══════════╬══════════════════╬════════════╬════════════╣
║ %         ║ admin            ║ Y          ║ Y          ║
║ %         ║ gameled_admin    ║ N          ║ N          ║
║ localhost ║ mysql.infoschema ║ N          ║ N          ║
║ localhost ║ mysql.session    ║ N          ║ Y          ║
║ localhost ║ mysql.sys        ║ N          ║ N          ║
║ localhost ║ root             ║ Y          ║ Y          ║
╚═══════════╩══════════════════╩════════════╩════════════╝

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN,
PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE
TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION
CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE
USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.*
TO `root`@`localhost` WITH GRANT OPTION

GRANT BACKUP_ADMIN,BINLOG_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,GROUP_REPLICATION_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SET_USER_ID,SYSTEM_VARIABLES_ADMIN,XA_RECOVER_ADMIN ON *.* TO `root`@`localhost` WITH GRANT OPTION

GRANT ALL PRIVILEGES ON `mysql`.* TO `root`@`localhost` WITH GRANT OPTION

GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION

все будет полезно, заранее спасибо

РЕДАКТИРОВАТЬ 1:

Другой проверенный код:

SELECT User()

Результаты:

╔════════════════╗
║ User()         ║
╠════════════════╣
║ root@localhost ║
╚════════════════╝

Некоторые из ошибок, которые я получаю:

You are not allowed to create a user with GRANT

Я использую эту строку

SHOW GRANTS FOR 'multilang_user';

И получите это:

There is no such grant defined for user 'multilang_user' on host '%'

РЕДАКТИРОВАТЬ 2:

Создан новый пользователь root '@'% '

SHOW GRANTS FOR 'root'@'%';

эта строка показывает еще раз:

Grants for root@%

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `root`@`%` WITH GRANT OPTION

GRANT BACKUP_ADMIN,BINLOG_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,GROUP_REPLICATION_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SET_USER_ID,SYSTEM_VARIABLES_ADMIN,XA_RECOVER_ADMIN ON *.* TO `root`@`%` WITH GRANT OPTION

еще раз я проверял:

GRANT ALL ON *.* TO 'multilang_user'@'localhost' WITH GRANT OPTION;

и приводит к этому:

You are not allowed to create a user with GRANT

РЕДАКТИРОВАТЬ 3 ПРОБЛЕМА РЕШЕНА:

Решение: Поэтому я решил удалить своего многоязычного пользователя и создать его еще раз, на этот раз указав @ 'localhost' в конце имени пользователя, чтобы я мог предоставить все привилегии от root @ localhost

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...