为什么在某些授权命令中'identified by'强制性的?



我不明白。我有一个数据库my_database和一个表tablename。我有一个用户,ken谁有只读访问数据库。这个用户已经设置了密码,人们可以远程使用这个用户名。我想给他们一些tablename的权限。

这行不通:

mysql> grant SELECT, INSERT, UPDATE, DELETE on my_database.tablename to 'ken'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> grant SELECT, INSERT, UPDATE, DELETE on my_database.tablename to 'ken'@'%' identified by password '<existing password hash>';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

为什么?我认为identified by部分是可选的,如果他们已经是一个用户?

也许您可以将GRANT语句限制为只有通过这种特定的身份验证方法(这里是:password)登录的用户。这至少是CREATE USER语句的情况,我认为这里应该是类似的…

详情请在本页搜寻auth_option

很可能是MySQL复制问题

相关内容

  • 没有找到相关文章

最新更新