即使在刷新后,授予用户权限似乎也不适用

即使在刷新后,授予用户权限似乎也不适用

我正在创建一个测试系统,需要授予用户远程数据库访问权限。我使用以下方法执行此操作:

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 解决问题。当然欢迎提出建议!

答案1

错误说明了一切

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

您设置了 的授权,localhost但检查了 的授权%

尝试

SHOW GRANTS for codingo@localhost;

相关内容