Назад | Перейти на главную страницу

Предоставление привилегий пользователю не применяется даже после промывки.

Я работаю над созданием тестовой системы, и мне нужно предоставить пользователю удаленный доступ к базе данных. Я делаю это следующим образом:

mysql> SHOW GRANTS for codingo;
ERROR 1141 (42000): There is no such grant defined for user 'codingo' on host '%'
mysql> GRANT ALL PRIVILEGES ON *.* to 'codingo'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)

Однако после того, как я flush privileges а затем просмотрите их, они не подходят:

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW GRANTS for codingo;
ERROR 1141 (42000): There is no such grant defined for user 'codingo' on host '%'

В настоящее время я использую:

mysql Ver 14.14 Distrib 5.7.23, для Linux (x86_64) с использованием оболочки EditLine

Однако пользователь показывает разрешения, когда я выполняю:

mysql> select * from mysql.user where user='codingo' and host='localhost';

Я также редактировал:

/etc/mysql/mysql.conf.d/mysqld.cnf 

Для привязки-адреса 0.0.0.0 (планируя укрепить его после отладки), который по-прежнему не разрешает удаленные подключения.

Однако я не могу подключиться к этому удаленно или даже локально с этим пользователем.

Это на полностью пропатченном сервере Ubuntu. Я также запустил сценарий усиления защиты MySQL, поэтому я предполагаю, что что-то мешает мне создать дополнительного администратора, но я недостаточно знаю об этом, чтобы решить проблему через Google. Конечно открыты для предложений!

Ошибка говорит сама за себя

ERROR 1141 (42000): There is no such grant defined for user 'codingo' on host '%'

Вы устанавливаете грант на localhost но проверил грант на %.

Пытаться

SHOW GRANTS for codingo@localhost;